【发布时间】:2013-07-22 21:06:16
【问题描述】:
我在 Django 1.5 中有以下模型:
class Person(models.Model):
name = models.CharField(max_length=50)
注意根据https://docs.djangoproject.com/en/dev/ref/models/fields/ name.blank 默认为 False,表示必须指定。
但是,我可以成功地创建一个 Person 对象,如下所示:
Person.objects.create()
请注意未指定名称。怎么回事?
好的,文档的答案是:
请注意,这与 null 不同。 null 纯粹与数据库相关,而空白与验证相关。如果字段的空白=True,表单验证 将允许输入空值。如果某个字段的空白=False,则该字段为必填项。
另一个问题:
请注意,当您保存模型时,验证器不会自动运行,但如果您使用的是 ModelForm,它将在您的表单中包含的任何字段上运行您的验证器。
如果您不使用表单,则在保存之前调用 clean 方法是您的责任。
【问题讨论】:
-
首先,这是怎么回事
name = ...不要这样做。 -
我相信 Games 指的是缩进。不建议按照 PEP-8 进行编码实践。
-
@bernie 是的,正是我想要得到的。
标签: django django-models