Django Migrations ValueError: [...] было объявлено с ленивой ссылкой [...]Python

Программы на Python
Anonymous
Django Migrations ValueError: [...] было объявлено с ленивой ссылкой [...]

Сообщение Anonymous »

У меня довольно сложная архитектура проекта, включающая несколько приложений, модели которых содержат перекрестные ссылки.

Например, у меня есть модель billing.Premium — который принадлежит приложению для выставления счетов, на который ссылается другая модель с именем Payments.PaymentJob через поле один к одному:

Код: Выделить всё

('premium', models.OneToOneField(on_delete=django.db.models.deletion.PROTECT, to='billing.Premium', verbose_name='premium'))
(Этот код взят из одной из миграций оплаты)

Но я пришел в какой-то момент мне нужно переименовать billing.Premium в billing.PremiumInstalment, и тут наступает самое смешное: после рефакторинга моего кода для замены имени модели я пытаюсь django-admin makemigrations , это приводит к следующей ошибке:

Код: Выделить всё

ValueError: The field payments.PaymentJob.premium was declared with a lazy reference to 'billing.premium', but app 'billing' doesn't provide model 'premium'.
Похоже, что моя миграция не удалась, поскольку я переименовал модель внешнего приложения. Я не знаю, как это исправить причудливым способом, я имею в виду создание некоторой миграции без ошибок, и это будет применяться, когда я запускаю миграцию django-admin.

Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/468 ... ference-to

Вернуться в «Python»