2014-03-26 38 views
1

有没有办法让CharField(或TextField)不接受空字符串?我试图用blank=False,但它不工作...没有空字符串的Django CharField

class Foo(models.Model): 
    title = models.CharField(max_length=124, blank=False) 

然后syncdb后我跑python manage.py shell,我可以输入:

f = Foo() 
f.save() 

,并没有抱怨。该对象的标题值为''。我不要想要发生这种情况,我希望它投诉,如果Foo()没有明确给出一个非空字符串。任何方式来做到这一点?

我使用Django 1.6

回答

2

按照documentationblank=False纯粹是验证相关的是只适用于一种形式的水平。

见相关主题:

+0

谢谢,这解释了很多 – antimatter

+0

@gyeh欢迎您。如果在模型字段级别检查非空值很重要,请考虑制作验证器,请参阅http://stackoverflow.com/a/6195014/771848。 – alecxe

+0

@alcxe通常我会这样做,但我试图做一个填充数据库的django-admin命令,并且我想确保它不接受来自模型端的空字符串。但我可以检查命令本身中的空字符串。 – antimatter