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

Команда loaddata

Команда loaddata применяется для загрузки данных из файлов фикстур в базу данных Django. Фикстуры представляют собой сериализованные данные в форматах JSON, XML или YAML. Команда загружает данные в соответствующую модель, основываясь на содержимом файла. При загрузке данных команда автоматически определяет модель по указанному в фикстуре идентификатору приложения и названию модели.

Команда принимает имена файлов фикстур в качестве аргументов. По умолчанию Django ищет файлы в директории fixtures внутри каждого приложения. Можно указать абсолютный путь к файлу или использовать опцию --app для указания конкретного приложения. Также команда поддерживает загрузку сжатых файлов с расширениями .json.gz, .xml.gz или .yaml.gz.

Синтаксис

python manage.py loaddata fixture_file [fixture_file ...]

Пример

Создадим фикстуру с данными для модели Article в формате JSON. Файл разместим в директории fixtures приложения myapp:

# Файл myapp/fixtures/articles.json [ { "model": "myapp.article", "pk": 1, "fields": { "title": "First article", "content": "Content of first article", "status": "published", "created_at": "2025-01-01T10:00:00Z" } }, { "model": "myapp.article", "pk": 2, "fields": { "title": "Second article", "content": "Content of second article", "status": "draft", "created_at": "2025-01-02T12:30:00Z" } } ]

Загрузим эту фикстуру в базу данных с помощью команды:

python manage.py loaddata articles.json

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

"Installed 2 object(s) from 1 fixture(s)"

Пример

Загрузим несколько файлов фикстур одновременно. Предположим, у нас есть две фикстуры: users.json и articles.json:

python manage.py loaddata users.json articles.json

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

"Installed 5 object(s) from 2 fixture(s)"

Пример

Укажем конкретное приложение для загрузки фикстуры с помощью опции --app. Фикстура должна находиться в директории указанного приложения:

python manage.py loaddata --app myapp articles.json

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

"Installed 2 object(s) from 1 fixture(s)"

Пример

Загрузим фикстуру, игнорируя существующие данные, с помощью опции --ignore для указания моделей, которые следует пропустить:

python manage.py loaddata --ignore myapp.article articles.json

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

"Installed 0 object(s) from 1 fixture(s)"

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

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