Тесты Django не работают из-за нулевых идентификаторов в таблице content_type в зависимости от именования приложения
Я добавил новое приложение к уже существующему проекту Django с БД PostgreSQL. Название приложения начинается с буквы "a". Модели приложения имеют внешние ключи к моделям в других приложениях. Миграции выполняются без проблем, приложение запускается и работает нормально.
Однако запуск тестов дает ошибку, подобную приведенной ниже, как только начинается создание тестовой базы данных. Каждый запуск создает ошибку для разных моделей. Из этого видно, что таблица content_type
заполняется нулевыми значениями для идентификаторов.
django.db.utils.IntegrityError: null value in column "name" of relation "django_content_type" violates not-null constraint
DETAIL: Failing row contains (1, null, threadedcomments, threadedcomment).
В файле миграций определены зависимости, чтобы обеспечить создание таблиц БД в правильном порядке. Я также переместил новое приложение в конец списка в настройке INSTALLED_APPS.
Все работает так, как должно работать, если я делаю одно из следующих действий.
- Переименуйте приложение, чтобы оно начиналось с другой буквы.
- Удаление внешних ключей.
Похоже, что таблицы создаются в алфавитном порядке, несмотря на миграционные зависимости.
Есть ли способ принудительно изменить порядок создания таблицы? Или есть что-то еще, что я упускаю?