有没有办法让CharField(或TextField)不接受空字符串?我试图使用blank=False
,但它无效...
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
答案 0 :(得分:3)
根据documentation,blank=False
纯粹与验证相关,仅适用于表单级别。
参见相关主题:
答案 1 :(得分:2)
使用MinLengthValidator
:
from django.core.validators import MinLengthValidator
...
title = models.CharField(max_length=10, validators=[MinLengthValidator(1)])