从文件中:
read_only将其设置为True,以确保在序列化表示时使用该字段,而在反序列化期间更新实例时不使用该字段。
默认为假
required通常情况下,如果反序列化期间未提供字段,则会引发错误。如果反序列化过程中不需要此字段,则设置为false。
默认为True。
因此,我有一个模型,其中有一个字段不可为null,但我希望在pre_save方法中填充它,因此我在serializer中将该字段设置为required=False
,但似乎不起作用。我保存记录时仍然出错。
class FavoriteListSerializer(serializers.ModelSerializer):
owner = serializers.IntegerField(required=False)
class Meta:
model = models.FavoriteList
更新:我添加了serializer\u class=serializer。FavoriteListSerializer
到视图集,现在不是获取此字段是必需的
,我认为它已通过验证,但我获取的此字段不能为空
我已经检查了pre_save方法没有被执行,有什么想法吗?
如果有人在这里遇到类似的问题,请注意以下属性以及所需的属性:
允许空白:
如果设置为True
,则空字符串应视为有效值。
允许为空:
通常情况下,如果将No
传递到序列化程序字段,将引发错误。
必修的:
通常,如果在反序列化过程中未提供字段,将引发错误。
我一直在琢磨为什么我会在required=False
中出现验证错误,因为我错过了allow\u null
属性。
延迟进入此线程。这个问题在django rest框架2.3中得到了修复。13.这是公共关系的链接。
在您的案例中,您可以这样使用它:
class Meta:
model = models.FavoriteList
optional_fields = ['owner', ]
是的,我也遇到过这个问题。您还需要更新验证排除项。
class FavoriteListSerializer(serializers.ModelSerializer):
owner = serializers.IntegerField(required=False)
class Meta:
model = models.FavoriteList
def get_validation_exclusions(self):
exclusions = super(FavoriteListSerializer, self).get_validation_exclusions()
return exclusions + ['owner']
问题内容: 从文档中: read_only将此设置为True以确保序列化表示形式时使用该字段,而在反序列化期间更新实例时不使用该字段。 默认为False 必需通常,如果反序列化过程中未提供字段,则会引发错误。如果反序列化过程中不需要此字段,则设置为false。 默认为True。 因此,我有一个模型,该模型的字段不可为空,但我希望在pre_save方法中填充该字段,因此我已将该字段设置为序列化器,但
问题内容: 如何将多对多字段序列化为列表,然后通过rest框架返回它们?在下面的示例中,我尝试返回该帖子以及与其关联的标签列表。 models.py serializers.py views.py 问题答案: 你将需要一个,其有。之后被创建,修改与一个关系:
每当我发布到django rest framework(DRF)endpoint时,我都会不断收到响应。但是,考虑到下面的curl示例,我显然指定了一个值。 无论Content-Type(应用程序/json、应用程序/x-wow-form-urlencoded、多部分/form-data)如何,都会发生这种情况。它唯一有效的时间是当我使用DRF网络界面上的“超文本标记语言表单”(相对于“原始数据”
我有一个引用泛型关系的模型,我想以详细的方式序列化它。 我希望ToSeriize视图集的列表方法的JSON看起来像: 有没有办法让ToSeriize对象的视图集的序列化器基于content_type/object_id产生“条件字段”来实现这种效果?
假设我有这样的json,我想将其反序列化为一个名为SubscriberProfile的对象。 当我使用以下代码时,它可以正常工作, 但如果json中缺少字段2,我希望objectmapper抛出和异常(可能缺少字段1和字段2)。 所以这样的json应该抛出一个异常 我曾尝试使用注释,但仅在序列化它时有效。 你知道我该怎么解决这个问题吗? 提前感谢
问题内容: 我是Django REST框架的初学者,需要你的建议。我正在开发Web服务。该服务必须提供与其他服务的REST接口。我需要实现的REST接口无法直接与我的模型一起使用(我的意思是获取,放置,发布,删除操作)。相反,它为其他服务提供了一些计算结果。根据请求,我的服务会进行一些计算,只是将结果返回(不将结果存储在自己的数据库中)。 以下是我对如何实现REST接口的理解。纠正我,如果我错了。