Django ORM默认值未应用于MySQL DB

时间:2016-11-20 06:13:00

标签: mysql django

我在Django模型中有一个如下所示的字段:

median = models.IntegerField(default=0)

我希望这相当于这样的MySQL创建表查询:

median INT DEFAULT 0

然而,在Sequel Pro中查看我的数据库,我发现没有设置默认值。有没有办法改变这种行为,或者是一种智能的解决方法?

我的目标是能够在不使用ORM的情况下将值插入数据库,并且仍然可以从默认值中受益。

1 个答案:

答案 0 :(得分:1)

是的,django在创建对象时而不是在数据库级别实现字段的默认值。然而,两种方式都是一件简单的事情。创建迁移。

migrations.RunSQL("ALTER TABLE my_table MODIFY median INT DEFAULT 0;")

您必须对需要在数据库级别拥有默认值的所有列执行此操作。