Тесты 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.

Все работает так, как должно работать, если я делаю одно из следующих действий.

  1. Переименуйте приложение, чтобы оно начиналось с другой буквы.
  2. Удаление внешних ключей.

Похоже, что таблицы создаются в алфавитном порядке, несмотря на миграционные зависимости.

Есть ли способ принудительно изменить порядок создания таблицы? Или есть что-то еще, что я упускаю?

Вернуться на верх