У меня есть две моделей в двух разных приложениях:ереименование модели ломает историю миграции
# app1 models.py
class App1Model(models.Model):
pass
# app2 models.py
from app1.models import App1Model
class App2Model(App1Model):
pass
И я хочу, чтобы переименовать App1Model, а затем воссоздать App2Model иметь явную OneToOneField
вместо волшебной app1model_ptr
. Таким образом, я создаю миграцию, которая полностью удаляет App2Model (я не забочусь о данных, потому что по какой-либо причине), она работает успешно. Затем я создаю миграцию в первом приложении, которое переименовывает App1Model, и оно отлично работает, я проверяю эту таблицу с новым именем и всеми его отношениями (и с ним тоже), это нормально.
И то странно получается: когда я бегу makemigrations
или migrate
на app2 я получаю ошибку
django.db.migrations.exceptions.InvalidBasesError: Cannot resolve bases for [<ModelState: 'app2.App2Model'>]
Он терпит неудачу при создании текущего состояния проекта на самой первой миграции app2 (0001_initial.py в app2 миграций) где эта модель была создана впервые, наследуя от App1Model со своим старым именем. Есть ли способ исправить это? В текущем состоянии App2Model
уже удален, App1Model
переименован, и я не могу ничего сделать с миграциями на app2 из-за этой проблемы.
P.S. Я использую Django 1.10.2