我在Django模型中有一个如下所示的字段:
median = models.IntegerField(default=0)
我希望这相当于这样的MySQL创建表查询:
median INT DEFAULT 0
然而,在Sequel Pro中查看我的数据库,我发现没有设置默认值。有没有办法改变这种行为,或者是一种智能的解决方法?
我的目标是能够在不使用ORM的情况下将值插入数据库,并且仍然可以从默认值中受益。
答案 0 :(得分:1)
是的,django在创建对象时而不是在数据库级别实现字段的默认值。然而,两种方式都是一件简单的事情。创建迁移。
migrations.RunSQL("ALTER TABLE my_table MODIFY median INT DEFAULT 0;")
您必须对需要在数据库级别拥有默认值的所有列执行此操作。