我有一个模型:
class Model(models.Model):
price = models.DecimalField(...)
生产数据库中已经存在Model
对象。
现在我向此模型添加price_total
字段,该字段不能为null
。
class Model(models.Model):
price = models.DecimalField(...)
price_total = models.DecimalField(...)
我希望在迁移后,price_total
与price
相等。
类似于:
price_total = models.DecimalField(default=this_object.price,...)
有没有其他更好的方法呢?
目前我所知道的唯一方法如下:
- 使
price_total
可为空 - 执行makemigrations + migrate命令
- 例如通过
django shell
将price_total
设置为等于price
- 使
price_total
不可为空 - 再次执行makemigration + migrate命令
但是这种方式有很多缺点,比如在生产环境中可能会忘记执行,步骤繁琐等等...
是否有更好的方法呢?
this_object
部分。 - Willem Van Onsem