2011-02-18 7 views

답변

22

blank=True은 관리 사이트에 필드를 비워 둘 수 있음을 알리는 것입니다.

null=True을 설정하지 않은 경우 공백 값을 입력하려고하면 데이터베이스에 오류가 표시됩니다.

외래 키 필드에 null 값을 사용할 수있는 경우 null에 대해 None이 반환되므로 "비어 있어야"했는지 확인하려면 필드가 None인지 간단히 확인할 수 있습니다.

>>> obj.foreignkeyfield is None 
True 


if not obj.foreignkeyfield: 
    print "This field was left blank" 
+0

'is None'과'not '의 차이점은 무엇입니까? – hobbes3

+5

@ hobbes3, FK 필드의 경우에는 별 문제가되지 않습니다. 예를 들어 콘솔 출력을 표시하는 표현식을 사용했습니다. 'is None'은'val == None'의 경우에만 True가되고, 그렇지 않으면'bool (val) == False'를 검사합니다. 'bool (0)','bool ('')'은 모두 False로 평가됩니다. –

관련 문제