Невозможно осуществить обратную миграцию Django с помощью django-otp
Пытаюсь написать обратный код для миграции Django. При миграции проблем не было, а вот обратный ход, похоже, вызывает проблемы.
Мой файл миграции приведен ниже.
from django.db import migrations, models
def forward_migration(apps, schema_editor):
totp = apps.get_model('otp_totp', 'TOTPDevice')
# Doing some stuff with the devices
def reverse_migration(apps, schema_editor):
totp_device = apps.get_model('otp_totp', 'TOTPDevice')
# Undoing some stuff with the devices
class Migration(migrations.Migration):
dependencies = [
('project', 'MY_LAST_MIGRATION'),
]
operations = [
migrations.RunPython(forward_migration,
reverse_migration),
]
Когда я отменяю миграцию, я получаю следующую ошибку:
LookupError: Нет установленного приложения с меткой 'otp_totp'.
Что мне не понятно в этой ошибке, так это то, что если приложение не может быть найдено при отмене миграции, то почему не было проблем при выполнении миграции?
Основным решением этой категории проблем согласно SO является проверка settings.py
и убедиться, что ссылающееся приложение находится там правильно.
Мой INSTALLED_APPS:
INSTALLED_APPS = [
...,
'django_otp',
'django_otp.plugins.otp_totp',
...
]
Это кажется правильным согласно django-top docs.
Я также пробовал несколько вариантов ввода app_label
в функцию get_model
и не добился успеха.
Заранее всем спасибо!