Прежде чем Django 1.7 при использовании Django Sites Framework можно/должно определить исходные данные, используя Initial Fixtures.
MyProject/приборы/initial_data.json
[ { "pk": 1, "model": "sites.site", "fields": { "domain": "domain1", "name": "name1" } }, { "pk": 2, "model": "sites.site", "fields": { "domain": "domain2", "name": "name2" } }, { "pk": 3, "model": "sites.site", "fields": { "domain": "domain3", "name": "name3" } } ]
Поскольку это глобальная настройка проекта, я добавил папку "привязки" к корню проекта и добавила ее в FIXTURE_DIRS.
# Used to search fixture files directories.
# Fixture files are files that provide initial data to be
# inserted in the database. (>python manage.py loaddata)
FIXTURE_DIRS = [
os.path.join(PROJECT_ROOT, "fixtures"),
]
Теперь я использую Django 1.7, и рекомендуется использовать миграции. Цитирование документации Django:
Чтобы установить правильное имя и домен для вашего проекта, вы можете использовать миграцию данных.
Проблема Миграции зависят от приложения:
python manage.py makemigrations --empty yourappname
Итак, каков рекомендуемый подход для добавления информации о сайте в мой проект с использованием миграции данных? Где должна жить эта миграция?
Запуск python manage.py makemigrations --empty sites
создает миграцию в папке стороннего приложения, поэтому мы этого не хотим.
Нельзя ли определить MIGRATION_DIRS как FIXTURE_DIRS для начальных_данных?
Я нашел MIGRATION_MODULES в документации по настройкам, но проблема все еще остается, она специфична для приложения.