对于mysql django,NULL和FALSE是一样的吗?

时间:2012-08-07 10:11:49

标签: python mysql django

  

可能重复:
  Django models: default value for column

我在模型

中创建了这样的模型字段
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显示为默认值?

3 个答案:

答案 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;