【发布时间】:2018-04-26 13:33:42
【问题描述】:
我正在使用 Django 1.11
我没有从 ModelForm docs 那里得到我期望的行为...
另外,每个生成的表单域的属性设置如下:
如果model字段有blank=True,那么required设置为False on 表单域。否则,required=True。
我正在使用 ModelForm:
class TestForm(ModelForm):
class Meta:
model = CUser
fields = '__all__'
以及底层模型:
class CUser(AbstractBaseUser):
...
a_t = models.BooleanField()
但是我的表单域 a_t 没有设置 required=True 设置。 (我知道我可以在表单中创建字段来完成这项工作,但我很好奇为什么这不能按照(我理解的)它应该的方式工作)
我错过了什么?
编辑:
我的模型中也有这个:
REQUIRED_FIELDS = ['first_name','last_name']
但是the docs 也说这不应该影响事情......
REQUIRED_FIELDS 对 Django 的其他部分没有影响,例如在管理员中创建用户。
【问题讨论】:
-
我猜这是一个复制错误,但你的模型没有继承自 models.Model :)
-
是的,为了简洁起见,我正在重写。编辑修复。
-
@user2726394 提供更多说明。
-
@nawarkhede 嗯,我应该澄清什么?正如预期的那样,生成的表单不需要选中复选框。在字段上检查 .required 会返回 False
标签: django django-forms