#python #django #json #initialization #fixtures
#python #django #json #инициализация #приспособления
Вопрос:
Есть ли способ выполнить приспособление Django только один раз — при создании соответствующей таблицы? У меня есть некоторые исходные данные, которые следует поместить в таблицы приложения, но как только таблицы появятся, я не хочу, чтобы каждый ./manage.py syncdb
обновлял данные. Согласно документам Django, похоже, это можно сделать только для приспособлений в формате SQL, а не JSON / YAML:
Комментарии:
1. То же самое с миграцией на юг. Я думаю, что мой initial_data.json перезагружается при каждой миграции на юг.
2. Как насчет создания вашей собственной версии syncdb, либо создав ее подкласс, либо просто скопировав и изменив ее код? Командная среда django довольно хороша.
3. Звучит интересно. Не могли бы вы указать мне правильное место в документах?
4. Конечно: docs.djangoproject.com/en/1.3/howto/custom-management-commands
Ответ №1:
Вы захотите использовать сигнал post_syncdb и фильтровать / вручную загружать приспособление с помощью базовых методов при создании определенных приложений или моделей.
Комментарии:
1. О, точно. Я слышал о сигналах, но на самом деле еще не читал об этом. Спасибо за предложение.