django 1.8模型字段允许空白但是是必需的

时间:2015-07-06 11:09:47

标签: django django-models django-forms

我有一些模型字段,其值应该是可选的。根据{{​​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不正确。

2 个答案:

答案 0 :(得分:1)

我认为您需要清楚地了解以下两者之间的区别: null = True和空白= True。

当特定字段的值是可选的时,使用

null = true。 blank = true,用于在表单中使用字段时将字段的值呈现为'required'字段。

它们一起用于某些字段,以确保特定字段的值是可选的。所以在这里,不要使用 blank = True ,强制执行 null = True ,以使 first_name 的值可选。

答案 1 :(得分:0)

啊哈,表格字段应标有required=False。我已更新问题以完整显示更正后的行。

reference