Подтвердить что ты не робот

Как создать файл прибора

Я хочу создать файл fixture в моем проекте Django.

Как я могу это сделать?

4b9b3361

Ответ 1

Прочтите " Предоставление исходных данных для моделей ".

  1. Загрузите некоторые данные в базу данных, управляемую Django. Простые скрипты Python работают красиво, или используйте интерфейс администратора по умолчанию.
  2. Используйте manage.py dumpdata для manage.py dumpdata данных в файл manage.py dumpdata JSON. Прочитайте " django-admin.py и manage.py ".

Ответ 2

Вы должны создать каталог в своем приложении с именем fixtures и поместить там свои файлы.

Вы можете записать их в json или xml, один простой способ сделать это - создать некоторые объекты в интерфейсе администратора, а затем запустить dumpdata для manage.py. Это позволит выгрузить данные из созданных вами объектов в файлы привязки. После этого вы можете просто отредактировать эти файлы в соответствии с вашими потребностями.

https://docs.djangoproject.com/en/1.7/ref/django-admin/#dumpdata-app-label-app-label-app-label-model

Если вы хотите загрузить приборы, вы используете load.tata.py loaddata.

https://docs.djangoproject.com/en/1.7/ref/django-admin/#loaddata-fixture-fixture

У вас могут быть светильники с исходными данными, которые будут автоматически загружаться при запуске syncdb, просто создайте файл с именем initial_data, и Django узнает его.

https://docs.djangoproject.com/en/1.7/howto/initial-data/#automatically-loading-initial-data-fixtures

Чтобы использовать приборы для тестирования, вы должны объявить их в своем тестовом классе

https://docs.djangoproject.com/en/1.7/topics/testing/tools/#fixture-loading

Ответ 3

Я приземлился здесь, глядя, как делать светильники. Я нашел следующую статью самой простой.

https://code.djangoproject.com/wiki/Fixtures

Добавьте путь FIXTURE_DIRS к вашим приложениям settings.py.

import os
PROJECT_DIR = os.path.abspath(os.path.dirname(__file__))
FIXTURE_DIRS = (
   os.path.join(PROJECT_DIR, 'fixtures'),
)

Теперь выведите текущее состояние myapp в файл JSON.

python manage.py dumpdata --format=json myapp > myapp/fixtures/initial_data.json

Вот оно, время для тестирования. Падение таблиц myapp...

./manage.py sqlclear myapp | ./manage.py dbshell

Теперь перезагрузите светильники...

./manage.py syncdb 

Ответ 4

Чтобы сбросить данные:

python manage.py dumpdata app.model_name --indent 4 > fixtures/file_name.json

Для загрузки данных:

python manage.py loaddata fixtures/model_name.json --app app.model_name

--indent X не является обязательным.

Ответ 5

В настоящее время я пишу модуль django (django-generate_fixtures), чтобы генерировать умные приборы, следуя всем связанным моделям одного родительского объекта.

Теперь он выгружает данные как JSON, затем вы можете загружать их так же, как и любые другие светильники.

Ответ 6

Если вы хотите сбросить весь сайт, вам не нужно указывать каталог настроек в настройках, вы можете сделать dir файл в вашем проекте и запустить этот

python manage.py dumpdata --format=json > /full-path-to-my-project/fixtures/initial_data.json