2014-03-26 78 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