这是我的另一个问题 django-rest-framework, multitable model inheritance, ModelSerializers and nested serializers
在django rest框架中,我们可以像这样定义嵌套模型序列化器
class OtherModelSerializer(serializer.ModelSerializer):
mybasemodel_set = MyBaseModelSerializer(many=True)
class Meta:
model = OtherModel
当我们创建一个OtherModelSerializer时,MyBaseModelSerializer在__init__
运行之前被实例化。
我相信是这种情况,因为如果我覆盖MyBaseModelSerializer的__init__()
并检查" instance",则为None。
我的问题是MyBaseModelSerializer
何时以及如何通过mybasemodel_set
的查询集或实例?
我的目标是覆盖我们这样做时会发生的事情。
答案 0 :(得分:0)
这一行
mybasemodel_set = MyBaseModelSerializer(many=True)
将初始化类MyBaseModelSerializer
的实例并将many=True
作为参数传递。
MyBaseModelSerializer如何通过查询集或实例传递?
我不是100%肯定你想做什么,但很可能
class MyBaseModelSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
pass
您正在寻找的功能。您将获得一个实例,并希望返回序列化数据。