2012-08-03 62 views
1

我有一个Django模型是这样的:Django的不涨价错误没有通过必填字段

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

当我去Django的Shell界面使用python manage.py shell并尝试不通过创建登记对象APPID场(这是必填字段)是这样的:

Registration.objects.create(registeredUser = userobject) 

它创建了一个注册对象不给我错误你不能设置的appid(非空的字段),以无!。这是怎么回事?为什么它不给我错误?我做错了什么或者我错过了什么?

回答

2

注册对象的appID将具有值''(即空字符串)。

另外,看看the docs for the null option,你会发现没有null选项并不意味着该字段是不可空的。相反,null=True表示空值在数据库中存储为NULL。

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