Bru*_*oop 8 django django-rest-framework
我正在使用Django-Rest-Framework的序列化器。我有两个串行器,一个与另一个嵌套。
class NestedSerializer(serializers.Serializer):
value = AttributeValueField(required=True)
name = serializers.CharField(required=True)
class OuterSerializer(serializers.Serializer):
info = serializers.CharField()
nested = NestedSerializer()
Run Code Online (Sandbox Code Playgroud)
为了验证嵌套序列化器的数据,我需要从父序列化器中检索输入数据,如下所示:
class NestedSerializer(serializers.Serializer):
...
def validate(self, data):
# of course, it doesn't work, but thats the idea.
info = self.parent.info
# then validate the NestedSerializer with info.
Run Code Online (Sandbox Code Playgroud)
我找不到任何方法可以通过validate方法访问这些输入数据。有什么建议么?谢谢你的帮助 :)。
小智 6
在validate()方法之前,DRF 序列化程序调用to_internal_value(self, data). 您将在那里获得父序列化程序的所有数据。因此,当您validate()在序列化程序中定义to_internal_value()方法时,定义方法并捕获父序列化程序的数据。
| 归档时间: |
|
| 查看次数: |
829 次 |
| 最近记录: |