从文档中:
read_only 将此设置为 True 以确保在序列化表示时使用该字段,但在反序列化期间更新实例时不使用该字段。
默认为假
required 通常,如果在反序列化期间未提供字段,则会引发错误。如果在反序列化期间不需要此字段,则设置为 false。
默认为真。
所以我有一个模型,它有一个不可为空的字段,但我希望它在 pre_save 方法中填充,所以我已将该字段设置为required=False
序列化程序,但似乎不起作用。保存记录时仍然出现错误。
class FavoriteListSerializer(serializers.ModelSerializer):
owner = serializers.IntegerField(required=False)
class Meta:
model = models.FavoriteList
更新:我现在已经添加serializer_class = serializers.FavoriteListSerializer
到 ViewSet 中,而不是 getting This field is required
,我认为它已经通过了验证,但是我得到了This field cannot be null.
我已经检查了 pre_save 方法没有被执行,有什么想法吗?