У меня есть модель:
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 + миграция
- установить
price_total
равнымprice
например черезdjango shell
- сделать
price_total
не обнуляемым - сделать миграцию + мигрировать
Но у этого способа есть несколько недостатков, вы можете забыть сделать это в продакшене, у него много шагов и т.д...
Есть ли способ лучше?