【发布时间】:2020-05-29 10:48:20
【问题描述】:
在 django 文档中有信息表明,通过将 CharField 类型的模型字段声明为空白 = True,表单将不需要填写相应的字段。但是,在我的项目中,这不是在职的。为了使表单中的字段不是强制性的,我发现的唯一替代方法是将其定义为 required=False。 我正在使用 Django 3.0.2。
如果表单没有在模型中定义空白=True 的字段,则没有错误。但是如果表单有这个字段,它只有在我添加 required=False 到表单字段时才有效,否则即使它在模型中定义为空白=True,它也是强制性的。
在 Django 2.2 中的行为相同。
Django 1.11.17 中的相同行为
【问题讨论】:
-
我想你读完这个answer就会得到你的答案。
-
对模型类的name字段使用blank=True和default='',在python控制台中,可以实例化一个对象(不为name字段提供值)并保存它使用 save() 方法在数据库中,但如果我尝试使用没有 required=False 的表单字段做同样的事情,django 需要填写名称字段。
标签: django