class ModelA:
pass
class ModelB:
model_a = ForeignKey(ModelA)
Если я хочу переименовать ModelA
в ModelANew
, вот стратегия Django Далее:
- Миграция 1: Создать
ModelANew
- Миграция 2:
- Удалить поле
model_a
из ModelB
. - Добавить поле
model_a_new
в ModelB
- Миграция 3: Удалить
ModelA
Очевидным недостатком этого является то, что информация в таблице modela
потеряна. Можно ли это сделать с переименованием модели? Django явно не спрашивал, было ли это переименование. Можно ли сообщить или сделать go по этому маршруту? Если нет, то какой была бы стратегия ручного кодирования миграции.