首页 > 其他 > 详细

DRF序列化、反序列化知识点

时间:2021-05-21 17:56:14      阅读:19      评论:0      收藏:0      [点我收藏+]

1、(重点)二次封装Response:自定义APIResponse继承Response,重写__init__方法

2、(正常)设置了abstract为True的模型类,称之为基表,这样的模型类是专门作为基类来提供公有属性的

3、(重点)ORM多表关联操作:

外键所放位置

  一对多:外键放在多的一方

  多对多:外键放在常用的一方

  一对一:外键放在不常用的一方

外键字段为正向查询字段,related_name是反向查询字段

外键如何断关联 :设置外键字段db_constraint=False

外键间的级联关系 一对一:

  作者没了,详情也没:on_delete=models.CASCADE

  一对多:出版社没了,书还是那个出版社出版:on_delete=models.DO_NOTHING

  一对多:部门没了,员工没有部门(空不能):null=True, on_delete=models.SET_NULL

  一对多:部门没了,员工进入默认部门(默认值):default=0, on_delete=models.SET_DEFAULT

  多对多:不能设置on_delete

4、(重点)连表序列化,在Model类中定义插拔序列化方法属性,完成连表查询

5、(正常)子序列化可以辅助快速实现自定义外键深度的序列化,但是不能进行反序化

6、(重点)单查群查接口,序列化类提供序列化对象,many参数控制着操作的数据是一条还是多条

7、(正常)单删群删接口,后台操作删除字段即可,前台提供pk就是单删,提供pks就是群删

8、(重点)单增群增接口,根据数据判断是单增还是群增,对应序列化类要设置many,而序列化类只需要通过data即可

9、(正常)单局部改,序列化类参数instance=修改的对象, data=修改的数据, partial=是否能局部修改,单整体修改就是partial=False(默认就是False)

10、(了解)群改,前台提供的数据,后台要转化成要修改的对象们和用来更新的数据们,ModelSerializer设置list_serializer_class关联自己的ListSerializer,重写update方法,完成群改

DRF序列化、反序列化知识点

原文:https://www.cnblogs.com/psycho/p/14793698.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!