【发布时间】:2009-09-17 01:35:24
【问题描述】:
我在 Django 1.1 中有一个这样的模型:
class Booking(models.Model):
name = models.CharField(max_length=100)
默认情况下,我读到“null”和“blank”都是 False。
所以通过这样的测试......
class SimpleTest(TestCase):
def test_booking_save(self):
b = Booking()
b.save()
... 我预计保存会引发异常。但事实并非如此。用空白名称创建新记录(Postgres 和 SQLite3)似乎很高兴。
我注意到,通过管理界面保存确实会失败,并显示“此字段是必需的”。
问题是:
- “空白”属性是否仅适用于表单?
- 修复是否覆盖 save() 方法并明确检查 len(name) != 0?
- 我是否误解了一些曾经能解决我误解的东西?
【问题讨论】:
-
标题的答案是“否”。似乎通常的做法是在模型中假设有效数据,并将验证委托给表单。
标签: django django-models