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