1

我有一个这样的 Django 模型:

class Registration(models.Model):
    appId =models.CharField(max_length = 100)
    registeredUser = models.ForeignKey('auth.User', null=True, blank=True)

当我使用 python manage.py shell 转到 Django Shell 界面并尝试在不传递 appId 字段(这是必填字段)的情况下创建一个注册对象时,如下所示:

Registration.objects.create(registeredUser = userobject)

它创建了一个注册对象而不给我错误您不能将 appId(不可为空的字段)设置为无!.这是怎么发生的?为什么它没有给我错误?我做错了什么或者我错过了什么?

4

1 回答 1

3

Registration 对象的 appID 的值为 ''(即空字符串)。

另外,请查看null 选项的文档,您会发现没有 null 选项并不意味着该字段不可为空。相反,null=True意味着空值在数据库中存储为 NULL。

如果您想避免空字符串,请向该模型字段的验证添加规则,或通过您的表单。

于 2012-08-03T08:32:03.210 回答