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 if」の違いは何ですか? – hobbes3

+5

@ hobbes3、FKフィールドの場合、それは本当に問題ではありません。私はコンソール出力を例として表現するために式を使用しました。 'is None'は' val == None'ならばTrueだけ、 'not 'なら' bool(val)== False'をチェックします。 'bool(0)'、 'bool( '')'はすべてFalseに評価されます。 –

関連する問題