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

Команда dumpdata

Команда dumpdata применяется для экспорта данных из моделей Django в файл-дамп. Она создает сериализованное представление данных, которое можно использовать для резервного копирования, переноса данных между окружениями или для загрузки в другую базу данных с помощью команды loaddata. Команда поддерживает различные форматы вывода и позволяет гибко настраивать экспортируемые данные с помощью параметров.

Синтаксис

python manage.py dumpdata [app_name[.ModelName] ...] [options]

Основные параметры

Команда dumpdata принимает следующие основные параметры:

  • --format - формат вывода данных (по умолчанию JSON). Доступные форматы: json, xml, yaml.
  • --indent - количество пробелов для отступа в выводе (по умолчанию 0).
  • --exclude - исключает указанные модели из дампа.
  • --output - записывает вывод в указанный файл вместо стандартного потока вывода.

Пример

Давайте создадим дамп всех данных из приложения myapp в формате JSON с отступами:

python manage.py dumpdata myapp --format json --indent 2

Результат выполнения кода:

[ { "model": "myapp.article", "pk": 1, "fields": { "title": "article 1", "content": "Content of article 1", "status": "published" } }, { "model": "myapp.article", "pk": 2, "fields": { "title": "article 2", "content": "Content of article 2", "status": "draft" } } ]

Пример

Давайте создадим дамп только модели Article из приложения myapp и сохраним его в файл:

python manage.py dumpdata myapp.Article --output articles.json

После выполнения команды в файле articles.json будет сохранен JSON-дамп всех записей модели Article:

[ {"model": "myapp.article", "pk": 1, "fields": {"title": "article 1", "content": "Content 1"}}, {"model": "myapp.article", "pk": 2, "fields": {"title": "article 2", "content": "Content 2"}} ]

Пример

Давайте создадим дамп данных в формате YAML с исключением модели Category:

python manage.py dumpdata myapp --format yaml --exclude myapp.category

Результат выполнения кода:

- fields: {content: Content of article 1, status: published, title: article 1} model: myapp.article pk: 1 - fields: {content: Content of article 2, status: draft, title: article 2} model: myapp.article pk: 2

Пример

Давайте создадим дамп данных для приложений myapp и users с использованием естественных ключей:

python manage.py dumpdata myapp users --natural-foreign --natural-primary

Результат выполнения кода:

[ { "model": "myapp.article", "pk": 1, "fields": { "title": "article 1", "author": ["username1"], "status": "published" } } ]

Смотрите также

  • команда loaddata,
    которая загружает данные из дампа в базу данных
  • команда flush,
    которая очищает все данные из базы данных
  • команда migrate,
    которая применяет миграции к базе данных
  • команда showmigrations,
    которая показывает статус миграций в проекте
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить