Новости

Я исправил ошибку RuntimeWarning: Accessing the database during app initialization is discouraged, которую видели в терминале при выполнении команд migrate и makemigrations.

Я исправил ошибку RuntimeWarning: Accessing the database during app initialization is discouraged, которую видели в терминале при выполнении команд migrate и makemigrations.

Главные 10.03.2026 22:55 21 просмотров Все новости за 10.03.2026

Я исправил ошибку RuntimeWarning: Accessing the database during app initialization is discouraged, которую видели в терминале при выполнении команд migrate и makemigrations.

В чем была проблема: В файле 

mysite/accounts/apps.py в методе ready() выполнялся запрос к базе данных (Site.objects.get_or_create(...)). Начиная с Django 4.1+, выполнение запросов к БД на этапе инициализации приложения (в методах ready() или при импорте модулей) вызывает предупреждение, так как таблицы могут быть еще не созданы или состояние приложения может быть не готово.

 

Как я это исправил: Я удалил этот вызов из файла 

apps.py. Дело в том, что у вас уже есть миграция данных 
0004_create_initial_site.py в приложении accounts, которая вполне корректно и безопасно создает объект Site (с доменом dpit-cms.ru:4234 или 127.0.0.1:4234 в зависимости от версии) прямо во время применения миграций. Поэтому дублировать этот код в 

apps.py больше не нужно.

 

Поделиться новостью