До Django 1.7 я определял каталог fixtures
для каждого проекта в настройках:
FIXTURE_DIRS = ('myproject/fixtures',)
и используйте это, чтобы разместить мое приспособление initial_data.json
, хранящее группы по умолчанию, необходимые для всего проекта. Это хорошо сработало для меня, поскольку я мог поддерживать чистоту дизайна, отделяя данные для каждого проекта от данных, специфичных для приложения.
Теперь в Django 1.7 initial_data
фикстуры устарели, предлагает включить миграции данных вместе с миграциями схемы приложения; не оставляя очевидного выбора для глобальных исходных данных для каждого проекта.
Более того, новая среда миграции устанавливает все устаревшие фикстуры исходных данных до< /strong> выполнение миграции для совместимых приложений (включая приложение django.contrib.auth
). Такое поведение приводит к тому, что мое приспособление, содержащее группы по умолчанию, не удается установить, поскольку таблицы auth_group
еще нет в БД.
Любые предложения о том, как (элегантно) заставить фикстуры запускаться после всех миграций или, по крайней мере, после миграции приложений аутентификации? Или есть другие идеи по решению этой проблемы? Я нахожу фикстуры отличным способом предоставления начальных данных и хотел бы иметь простой и понятный способ объявления их для автоматической установки. Новый RunPython слишком громоздкий, и я считаю его избыточность для большинства целей; и кажется, что он доступен только для миграции для каждого приложения.