Я использую одну модель из стороннего Django приложения, которое хочу переместить в новое приложение внутри моего проекта.
Проблема в том, что у меня есть некоторые из моих моделей которые имеют внешние ключи к старой модели, которые я хотел бы просто указать на новую модель. Затем миграция для них зависит от старого приложения, и я не могу сохранить старое приложение, поскольку оно несовместимо с новыми версиями Django, что приводит к появлению ошибок в командах Django.
Вот три приложения, которые представляют интерес: old_app, new_app и independent_app. Зависимый_app в настоящее время зависит от old_app и должен быть изменен в зависимости от new_app.
Если я изменю список зависимостей при переносе зависимых_app с:
dependencies = [
('old_app', '0001_initial'),
]
на
dependencies = [
('new_app', '0001_initial'),
]
Я получаю следующую ошибку в средах, использующих old_app:
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration dependent_app.0001_initial is applied before its dependency new_app.0001_initial on database 'default'.
Кроме того, я настроил новую модель на то же имя таблицы, используя Meta.db_table
, чтобы не беспокоиться об обновлении любого из внешние ключи в зависимом приложении к новой модели.