我有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或無 –