我有一个调用其他序列化程序的序列化程序,而另一个序列化程序是一个自定义的序列化程序,它会覆盖.to_representation()行为。如果我无法访问从视图发送到第一个序列化程序的数据,我应该如何从第一个调用此自定义序列化程序?
这是一个简单的例子:
class OtherSerializer(serializers.Serializer):
def to_representation(self, obj):
# ... can't get data
class NestedSerializer(serializers.Serializer):
someotherfield = OtherSerializer(somedata, many=True) # this fails because obviously can't read "somedata", how to get access to it?
boolfield = BooleanField()
NestedSerializer(data={'someotherfield': somedata, 'boolfield': False}) # this somedata is the one I'm talking above
答案 0 :(得分:0)
您可以尝试删除参数somedata吗?您的代码应如下所示:
class NestedSerializer(serializers.Serializer):
someotherfield = OtherSerializer(many=True)
boolfield = BooleanField()
我认为关键是“其他地方”。指的是一个列表,否则你不需要很多= True。
让我知道这对你有什么用。