1

重複の可能性:
Django モデル: 列のデフォルト値

モデルでこのようなモデルフィールドを作成しました

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をFalse に設定したのに、なぜNULLデフォルトとして表示されるのですか?

4

3 に答える 3

1

あなたの質問には既に回答があります。

モデル フィールド (callable の場合もある) にデフォルト値を割り当てると、保存中に別の値が提供されない場合に備えて、この値は Django ORM によってすべてのオブジェクトに設定されます。

つまり、DB シェルを介して手動でレコードを挿入する場合、このデフォルト値は使用されません。

于 2012-08-07T10:17:21.577 に答える
0

これを試して:

ALTER TABLE profile_complete MODIFY COLUMN profile_complete NOT NULL DEFAULT FALSE;
于 2012-08-07T10:16:47.227 に答える
0

NULLは と解釈されFalse、セットされたビットは と解釈されTrueます。

于 2012-08-07T10:13:54.687 に答える