Не удается запустить тесты django. django.db.utils.Ошибка программирования: отношение "auth_user" не существует
Я пишу тесты. При попытке запустить его, он возвращает ошибку "django.db.utils.Ошибка программирования: отношение "auth_user" не существует". Я запускаю проект локально, используя виртуальную среду. В логах pgadmin есть похожая ошибка. Эта ошибка также возникает при запуске проекта в docker. Я проверил миграции. Я перепробовал все варианты из Интернета и GPT. Я буду очень благодарен вам за помощь.
✅ Исправление для: django.db.utils.ProgrammingError: relation "auth_user" does not exist
Эта ошибка означает, что таблица auth_user (из встроенной системы аутентификации Django) не была создана в вашей базе данных PostgreSQL.
✅ Шаги по быстрому исправлению:
- Проверьте настройки базы данных в
settings.py:
python
Скопировано отредактировано
БАЗЫ ДАННЫХ = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'your_db_name', 'USER': 'your_db_user', 'PASSWORD': 'your_password', 'HOST': 'localhost', # or 'db' if using Docker 'PORT': '5432', } }
- Запуск миграций:
bash
Скопировано отредактировано
python manage.py внесение изменений в python manage.py перенос аутентификации на python manage.py перенос
- Используете Docker?
База данных может быть не готова к запуску Django — используйте сценарий ожидания:
bash
Скопировано отредактировано
./wait-for-it.sh db:5432 -- python manage.py перенести
Или добавьте проверку работоспособности в docker-compose.yml.
- Используя пользовательскую модель пользователя?
Проверьте это вsettings.py:
python
Скопировано отредактировано
AUTH_USER_MODEL АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЯ = 'yourapp.YourCustomUser'
Убедитесь, что его перенос был создан и применен.
- Все еще терпишь неудачу?
Вpsqlили в pgAdmin:
sql
Скопировано отредактировано
ВЫБЕРИТЕ* FROM django_migrations WHERE app = 'auth';
Если строк нет, перенос auth никогда не выполнялся.