我有models.py设置和无效的字段设置为无在Django休息
class Report(models.Model):
field_1 = models.Integerfield(blank=True, null=True, validators=[MaxValueValidator(10)])
field_2 = models.Integerfield(blank=True, null=True)
serializers.py
class ReportSerializer(serializers.ModelSerializer):
class Meta:
fields = (field_1, field_2)
当我尝试
r = ReportSerializer(data={'field_1':0, 'field_2': 50}
r.is_valid(True)
它提出:
{'field_1': ['Ensure this value is greater than or equal to 10.']}
即使field_1不是必需的(required = False)
我希望我的报告创建时field_2集合和field_1在None中,但无法找到正确实现此方法的方法。
什么是实现这一目标的好方法,即不会引发optionnal字段上的ValidationError。
data = {'field_2':50}会发生什么,我假设你得到的行为是因为如果你为field_1提供一个值,即使为0,也应该是有效的。 0 =/= null或无 –