【发布时间】:2013-11-15 20:08:56
【问题描述】:
来自文档:
只读 将此设置为 True 以确保在序列化表示时使用该字段,但在反序列化期间更新实例时不使用该字段。
默认为假
必填 如果在反序列化期间未提供字段,通常会引发错误。如果在反序列化期间不需要此字段,则设置为 false。
默认为真。
所以我有一个模型,它有一个不可为空的字段,但我希望它在 pre_save 方法中填充,所以我在序列化程序中将该字段设置为 required=False,但似乎不起作用。保存记录时仍然出现错误。
class FavoriteListSerializer(serializers.ModelSerializer):
owner = serializers.IntegerField(required=False)
class Meta:
model = models.FavoriteList
更新:
我已将 serializer_class = serializers.FavoriteListSerializer 添加到 ViewSet,而不是获取 This field is required,我认为它通过了验证,但后来我得到 This field cannot be null. 我检查了 pre_save 方法没有被执行,有什么想法吗?
【问题讨论】:
标签: python django rest django-rest-framework