【发布时间】:2015-07-22 16:27:34
【问题描述】:
使用 django rest framework 3.1.1,我有以下序列化器:
class CommentSerializer(ContentSerializer):
created_by = UserSerializer(required=False)
content = serializers.PrimaryKeyRelatedField(queryset=Content.objects.all(), required=False)
class Meta:
model = Comment
虽然content 字段尊重required=False 参数,但created_by 不尊重,这会在UserSerializer 中给我一个“此字段是必需的”验证错误列表:
{"created_by":{"username":["This field is required."],"user_permissions":["This field is required."],"password":["This field is required."],"groups":["This field is required."],"profile_picture":["This field is required."]}}
根据documentation 部分“处理嵌套对象”,它演示了序列化程序的用法。
我尝试过的:
我之前的 question 对此并尝试添加
get_validation_exclusions并没有帮助,因为我相信它已经在此 issue 中参与。将 created_by 更改为
created_by = serializers.PrimaryKeyRelatedField(required=False)有效,但这不是我想要的。- 在现有问题中的快速搜索显示我不是唯一遇到此问题的人: https://github.com/tomchristie/django-rest-framework/issues/2719
更新:
我已经创建了几个测试用例(请参阅 here),但无法复制该问题,看起来它只能通过 Ajax Post 发生。
【问题讨论】:
标签: django django-rest-framework