当我在PG指挥官中创建一个新行时
我让small_price
为空,因为我认为我设置了默认值:0
small_price = models.IntegerField(default=0 )
但是当我保存它有警报时:
Reason: null value in column "small_price" violates not-null constraint
为什么默认不起作用? 创建行时是否还需要输入0?
答案 0 :(得分:0)
如果要自动生成迁移,则需要在实际应用迁移之前对其进行一些小的编辑。进入生成的迁移并查找参数:keep_default=False
在db.add_column调用中。
您必须将其更改为:keep_default=True
这样,Django会将您的默认值应用于实际的架构以及所有现有的行。