作为Django REST Framework的新手,我在给我的ModelSerializer中的主键反序列化对象时遇到了问题 . 例如,我有2个扩展ModelSerializer的序列化程序:

class CourierSerializer(serializers.ModelSerializer):

class Meta:

model = Courier

fields = (

"first_name",

"last_name",

"phone"

)

class OrderSerializer(serializers.ModelSerializer):

courier = CourierSerializer()

class Meta:

model = Order

fields = (

"number",

"courier"

)

我的基于类的视图看起来像这样:

class OrderList(generics.ListCreateAPIView):

model = Order

serializer_class = OrderSerializer

现在,当我将Order模型序列化为JSON时,我得到了我想要的 - 对象“Order”,其中包含有关它的“Courier”的详细嵌套信息:

[

{

id: 1,

number: "000231",

courier: {

id: 2,

first_name: "John",

last_name: "Smith",

phone: "12345678"

}

},

...

]

但是在客户端的POST调用中,我想只接收Courier的外键:

{

id: 1,

number: "000231",

courier: 2

}

我应该在OrderSerializer类中添加什么来将这种JSON反序列化为Order模型?我应该写restore_object()吗?或者我应该编写额外的序列化程序来反序列化?如何使用我的(generics.ListCreateAPIView)视图,我可以使用两个单独的序列化程序(一个用于列表,一个用于发布)用于此目的?

java rest 序列化_Django Rest Framework中的序列化和反序列化相关推荐

  1. django序列化器嵌套_Django Rest Framework中用于OneToOne字段的序列化程序中的嵌套关​​系

    django序列化器嵌套 The Django Rest Framework (DRF) is one of the effectively written frameworks around Dja ...

  2. 客户端序列码生成_Django REST Framework教程(2): 序列化器介绍及开发基于函数视图的API...

    在上篇文章中,我们已经介绍了为什么要学习DRF,什么是序列化以及什么是符合RESTful规范的Web API.在本篇文章中我们将以博客为例,使用DRF提供的序列化器(Serializers类)开发两个 ...

  3. java 序列是什么意思_java 中的序列化是什么意思?有什么好处?

    1.序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比 ...

  4. android 序列化存储对象,android中对象序列化存储

    项目中要存储一些数据为了提高不必要的网络请求,提高效率,用到数据持久化的知识点,针对这个问题,解决办法其实有很多,以前在项目中是服务获取到webservice的xml,然后直接将xml保存在本地,之后 ...

  5. php7序列化,php 7.2中未序列化字符串时出现问题

    我已经序列化了一个图像路径,并在解压它之前将它与php 7.2不一起工作时保存到数据库中. a:1:{i:0;a:3:{s:8:"fullpath";s:77:"http ...

  6. java kryo 序列化_java中的序列化方式及dubbo使用kryo序列化

    java中的序列化方式: 1. 自带序列化  ObjectInputSteam. ObjectOutStream等 2. hession2 3. json ,xml等格式 4.kryo 5.FST - ...

  7. fileinputstream自定义类序列化和反序列化_Rest Assured篇:Java中的序列化和反序列化...

    点击上方蓝字设为星标 每天傍晚伴你一起成长! Java 中的序列化和反序列化是一个重要的编程概念.它适用于所有主要的编程语言.在本章中,我们将尝试在Java语言的上下文中理解此概念.在本章的最后,我们 ...

  8. spring mvc3中JACKSON序列化日期格式的问题 - 墙头草的Java - BlogJava

    spring mvc3中JACKSON序列化日期格式的问题 - 墙头草的Java - BlogJava在SPRING MVC3中,比如做REST时,经常要用JASON去解析,遇到了日期格式化的问题, ...

  9. java中的序列化和反序列化

    一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存 ...

最新文章

  1. linux挂载硬盘简书,linux|挂载硬盘及分区
  2. js错误:对象不支持此属性或方法
  3. VTK:可视化之TextureMapImageData
  4. 如何从Spring官网中下载完整的jar包(包含5.2.9版本最新版详解,当然所有版本均可下载)
  5. python 完全面向对象_Python面向对象
  6. String与Date、Timestamp互转
  7. wits数据格式_WITS标准
  8. 【mysql】全文索引match多列报错
  9. 给深度学习入门者的Python快速教程 - numpy和Matplotlib
  10. 传奇hero引擎版本服务端转换GEE引教程教学篇
  11. 《计算机组成原理(微课版)》第1章课后习题答案
  12. win10录屏怎么用_不会用电脑录屏怎么办?教你两种录屏方式,少学一个都遗憾...
  13. 我用一张图彻底了解 SpringAOP 切面表达式
  14. 当心!你的NAS设备正成为勒索软件攻击的目标
  15. php更换照片背景,ps怎么换照片背景
  16. 网页端、移动端导航设计模式全解
  17. 鸿蒙HarmonyOS应用开发系列 | 解读鸿蒙源码
  18. 隐函数(组)存在定理
  19. HTML5实现一个时钟动画,利用html5制作一个时钟动画效果
  20. CSS知识回顾(10)

热门文章

  1. 江阴南菁高考2021高考成绩查询,江阴8所四星级高中高考成绩公布 南菁高中本一进线率达到了92.97%...
  2. 计算机基础知识教程 百度,28、如何上网--电脑基础知识
  3. 均方根误差有没有单位_1千万年仅误差一秒,这台钟直接影响北斗卫星的导航定位精度...
  4. 02数据库表的相关操作
  5. 6-7Pytorch搭建cifar10训练脚本(下)
  6. java 类加载器_Java 类加载器
  7. mysql varchar json_谈谈 MySQL 的 JSON 数据类型
  8. 了解计算机中的信息编码教案,五年级下册信息技术《奇妙的编码》教学设计
  9. linux redis图形界面,linux安装redis和windows安装可视化工具
  10. java实验报告实验六,第六周java实验报告四