Django при выполнении тестов ValueError: Связанная модель не может быть разрешена. Связано с предыдущей проблемой миграции
У меня возникла проблема с тем, что файлы миграции django не синхронизируются с бд (получал ошибку "column not found") из-за того, что модель была переименована. Я не совсем понимаю миграции, но после того, как я последовал различным ответам на stackoverflow - выполнил поддельные нулевые миграции и затем добавил ручной файл миграции:
# Generated by Django 4.1 on 2022-10-10 00:47
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('campaigns', '0015_blah_blah'),
]
operations = [
migrations.RenameModel("PreviousModelName", "ModelName")
]
Я думал, что проблема решена. Я могу запрашивать базу данных без ошибок, могу добавлять новые поля в переименованную модель и переносить их. Казалось, что все работает. Но теперь я понял, что при запуске python manage.py test
я получаю следующую ошибку:
Похоже, что при попытке создать тестовую базу данных возникает ошибка. Есть ли что-то, что мне нужно сделать, чтобы синхронизировать тестовую базу данных?
Сначала удалите все файлы миграции и переместите приложения вручную, выполнив следующую команду:
python manage.py makemigrations appname
python manage.py sqlmigrate appname 0001 #This value will generate after makemigration.
python manage.py migrate
Надеюсь, это решит вашу ошибку.