2014-03-26 4 views
1

빈 문자열을 허용하지 않는 CharField (또는 TextField)를 만들 수있는 방법이 있습니까? 나는 blank=False를 사용하기 위해 노력하고있어하지만 빈 문자열이없는 장고 CharField

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

그런 다음 syncdb 후 나는 python manage.py shell을 실행 ... 작동하지 않습니다, 나는 입력 할 수 있습니다

f = Foo() 
f.save() 

을하며 불평하지 않습니다. 개체의 제목은 값이 ''입니다. 나는 하지 않습니다.이 일어나기를 원하면, Foo()에 비어 있지 않은 문자열이 명시 적으로 주어지면 불평하고 싶습니다. 이걸 할 수있는 방법은 없나요? 나는 documentation에 따르면

답변

2

장고 1.6을 사용하고

, blank=False 순수 검증 관련 전용 폼 수준에서 작동합니다.

참조 관련 스레드 :

+0

덕분에, 이것은 당신을 환영합니다 @gyeh 많은 – antimatter

+0

을 설명합니다. 모델 필드 수준에서 비어 있지 않은 값을 확인하는 것이 중요 할 경우 유효성 검사기를 만드는 것이 좋습니다 (http://stackoverflow.com/a/6195014/771848 참조). – alecxe

+0

@alcxe 그래, 보통은 그렇게 하겠지만, 데이터베이스를 채우는 django-admin 명령을 만들려고하고 있는데, 모델 측에서 빈 문자열을 허용하지 않기를 원했습니다. 하지만 명령 자체에서 빈 문자열을 확인할 수 있습니다. – antimatter