如何在DRF中使整数可选

时间:2017-07-13 23:15:05

标签: python django validation django-rest-framework

我有一个带整数字段的序列化程序

foo = serializers.IntegerField()

我希望该字段是可选的。我觉得很明显

foo = serializers.IntegerField(required=False)

应该可以工作,但事实并非如此,我收到错误消息:

{"error":{"foo":["A valid integer is required."]

我虽然说我不需要。我还尝试添加默认值

serializers.IntegerField(required=False, default=42)

我错过了什么吗?这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

使用'required = False'

  

如果在此期间未提供字段,通常会引发错误    反序列化。    将此设置为False还允许使用对象属性或字典键    序列化实例时从输出中省略。

你应该尝试设置:'null = True'

  

通常,如果将None传递给序列化程序字段,则会引发错误。如果将None视为有效值,请将此关键字参数设置为True。

     

默认为False

进一步阅读DRF docs