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

你的问题已经回答了。

当您为模型字段(甚至可以是可调用的)分配默认值时,该值由 Django ORM 为每个对象设置,以防保存时未提供另一个值。

这意味着如果您将通过 DB shell 手动插入一些记录,则不会使用此默认值。

于 2012-08-07T10:17:21.577 回答
0

NULL被解释为,False而一个设置位被解释为True.

于 2012-08-07T10:13:54.687 回答
0

试试这个:

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