我在模型
中创建了这样的模型字段profile_complete = models.BooleanField(default=False, db_index=True)
现在我在mysql dbshell中看到数据库表
它向我显示了profile_complete的信息,如此
Field | Type | Null | Key | Default | Extra |
profile_complete | tinyint(1) | NO | MUL | NULL | |
我已将Default
设为False,然后将NULL
显示为默认值?
答案 0 :(得分:1)
您的问题已经answered。
为模型字段(甚至可以调用)分配默认值时,如果在保存时未提供其他值,则由Django ORM为每个对象设置此值。
这意味着如果您通过数据库shell手动插入一些记录,则不会使用此默认值。
答案 1 :(得分:0)
NULL
被解释为False
,而设置位被解释为True
。
答案 2 :(得分:0)
试试这个:
ALTER TABLE profile_complete MODIFY COLUMN profile_complete NOT NULL DEFAULT FALSE;