РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
803 of 818 menu

Команда 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,
    которая показывает статус примененных миграций
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить