我有一些模型字段,其值应该是可选的。根据{{3}},我设置为空白但不为空。 Manage.py makemigrations
说我需要一个默认值,即使它是空的,没问题:
address = models.CharField(max_length=100, blank=True, default="")
然而,当我在表单中使用它时,表单验证会返回“此字段是必需的”。
表格如下:
address = forms.CharField(max_length=128)
解决方案只是表单需要看起来像这样:
address = forms.CharField(max_length=128, required=False)
请参阅第二句开头的文档链接,了解为什么使用null=True
不正确。
答案 0 :(得分:1)
我认为您需要清楚地了解以下两者之间的区别: null = True和空白= True。
当特定字段的值是可选的时,使用null = true。 blank = true,用于在表单中使用字段时将字段的值呈现为'required'字段。
它们一起用于某些字段,以确保特定字段的值是可选的。所以在这里,不要使用 blank = True ,强制执行 null = True ,以使 first_name 的值可选。
答案 1 :(得分:0)
啊哈,表格字段应标有required=False
。我已更新问题以完整显示更正后的行。