Команда dbshell
Команда dbshell используется для запуска командной оболочки
для базы данных, настроенной в проекте Django. Она автоматически
определяет тип базы данных (PostgreSQL, MySQL, SQLite и другие)
и подключается к ней с использованием учетных данных из файла
настроек. Команда не принимает дополнительных аргументов и
запускается из терминала.
Синтаксис
python manage.py dbshell
Для выполнения команды необходимо находиться в корневой папке
проекта, где расположен файл manage.py. После запуска
открывается интерактивная оболочка базы данных, в которой можно
вводить SQL-запросы. Выход из оболочки осуществляется стандартной
для каждой СУБД командой (например, exit или \q).
Пример . С SQLite
Запустим оболочку для SQLite базы данных и выполним простой запрос к таблице с пользователями:
python manage.py dbshell
После запуска оболочки выполним SQL-запросы:
SELECT * FROM auth_user;
Результат выполнения кода:
1|admin|pbkdf2_sha256$...|1|2026-01-01 10:00:00|1|admin@example.com|1|1|2026-01-01|admin
2|john|pbkdf2_sha256$...|1|2026-01-02 12:30:00|0|john@example.com|1|1|2026-01-02|john
Пример . С PostgreSQL
Для проекта с PostgreSQL команда подключается с использованием параметров из настроек проекта. Выполним запрос к таблице статей:
python manage.py dbshell
В оболочке PostgreSQL выполним запрос:
SELECT title, created_at
FROM myapp_article
WHERE status = 'published'
ORDER BY created_at DESC;
Результат выполнения кода:
title | created_at
--------------------+----------------------
"Third article" | 2026-01-03 15:20:00
"Second article" | 2026-01-02 11:10:00
"First article" | 2026-01-01 09:00:00
Пример . С MySQL
Для MySQL команда использует клиент mysql. Запросим
количество записей в таблице категорий:
python manage.py dbshell
В оболочке MySQL выполним запрос:
SELECT COUNT(*) FROM myapp_category;
Результат выполнения кода:
"COUNT(*)"
"10"
Смотрите также
-
команда
shell,
которая запускает интерактивную оболочку Python -
команда
inspectdb,
которая генерирует модели по существующим таблицам -
команда
sqlmigrate,
которая выводит SQL для миграции -
команда
showmigrations,
которая показывает статус примененных миграций