gpt4 book ai didi

python - django rest 框架嵌套模型序列化器

转载 作者:太空狗 更新时间:2023-10-30 00:19:34 24 4
gpt4 key购买 nike

这与我的另一个问题有关
django-rest-framework, multitable model inheritance, ModelSerializers and nested serializers

在django rest framework中我们可以像这样定义嵌套模型序列化器

class OtherModelSerializer(serializer.ModelSerializer):
mybasemodel_set = MyBaseModelSerializer(many=True)

class Meta:
model = OtherModel

当我们创建一个 OtherModelSerializer 时,MyBaseModelSerializer 在 __init__ 运行之前被实例化。我相信是这种情况,因为如果我重写 MyBaseModelSerializer 的 __init__() 并检查“instance”,它是 None。

我的问题是 MyBaseModelSerializer 何时以及如何通过 mybasemodel_set 的查询集或实例?

我的目标是覆盖执行此操作时发生的情况。

最佳答案

这一行

mybasemodel_set = MyBaseModelSerializer(many=True)

将初始化类 MyBaseModelSerializer 的实例并将 many=True 作为参数传递。


MyBaseModelSerializer 如何传递给查询集或实例?

我不是 100% 确定你想做什么,但很有可能

class MyBaseModelSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
pass

就是你要找的功能。您将获得一个实例并期望返回序列化数据。

http://www.django-rest-framework.org/api-guide/serializers/#overriding-serialization-and-deserialization-behavior

关于python - django rest 框架嵌套模型序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24067371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com