2012-08-07 35 views
1

可能重複:
Django models: default value for column對於mysql django,NULL和FALSE是一樣的嗎?

我在模型

profile_complete = models.BooleanField(default=False, db_index=True) 

現在建立這樣的模型字段,當我看到在MySQL數據庫中的表dbshel​​l

它顯示我的信息profile_complete這樣

Field   | Type   | Null | Key | Default | Extra   | 
profile_complete | tinyint(1) | NO | MUL | NULL |    | 

我已經設置了Default爲假它,那麼爲什麼它顯示NULL爲默認呢?

回答

1

你的問題已經answered

當你將一個模型字段的默認值(甚至可以是一個可調用的),該值由Django的ORM的情況下,同時節省不設置其它的值的每個對象設置。

這意味着如果你需要手動插入一些記錄,通過DB外殼,將不使用此默認值。

0

NULL被解釋爲False,而一組位被解釋爲True

+0

它的行爲如同NULL嗎? – 2012-08-07 10:16:03

+0

是的。但你爲什麼不嘗試? – 2012-08-07 10:16:23

0

試試這個:

ALTER TABLE profile_complete MODIFY COLUMN profile_complete NOT NULL DEFAULT FALSE; 
相關問題