关于 Serializer 序列化数据,一般情况一个实体 Model 对应一个 Serializer,其实功能跟FromModel有点类似。但是在涉及到多表关联查询,序列化数据接口进行返回时,无法返回多个 Model 对象字段 。在网上查了很久的资料,发现有两种方法,亲测有效。
1. 首先定义 Model 类
1-1
然后在 serializer.py 文件中定义两个 Model 对象:GroupSerializer、ConfigurationSerializer,在 ConfigurationSerializer 里面实例化GroupSerializer 类,然后把变量添加到fields中,这样就可以把外键关联的表字段通过接口返回了。
1-2
看一下接口实际返回的结果,红色框标出来的就是返回的外键关联表的字段了。
1-3
2.想要多个model数据序列化在一个返回中,可以使用 DjangoRestMultipleModels ,首先安装:
pip install django-rest-multiple-models
1-4
然后在 Serializer 定义两个对象,可以参考1-2图,然后在 views.py 使用就行。这样输出的结果对象是两个list。
1-5
如果想直接生成一个list对象的话,那就继承 FlatMultipleModelAPIView 类。使用方法类似
大致的实现方式就是这样,如果有不正确或者疑问的可以留言给我,虽然有些资料是网上查找的。但是亲测可用使用
标签:返回,表字,接口,Django,Model,序列化,Serializer,DRF From: https://www.cnblogs.com/clark1990/p/17149860.html