Выполнить приспособления Django при создании таблицы

#python #django #json #initialization #fixtures

#python #django #json #инициализация #приспособления

Вопрос:

Есть ли способ выполнить приспособление Django только один раз — при создании соответствующей таблицы? У меня есть некоторые исходные данные, которые следует поместить в таблицы приложения, но как только таблицы появятся, я не хочу, чтобы каждый ./manage.py syncdb обновлял данные. Согласно документам Django, похоже, это можно сделать только для приспособлений в формате SQL, а не JSON / YAML:

http://docs.djangoproject.com/en/1.3/howto/initial-data/

Комментарии:

1. То же самое с миграцией на юг. Я думаю, что мой initial_data.json перезагружается при каждой миграции на юг.

2. Как насчет создания вашей собственной версии syncdb, либо создав ее подкласс, либо просто скопировав и изменив ее код? Командная среда django довольно хороша.

3. Звучит интересно. Не могли бы вы указать мне правильное место в документах?

4. Конечно: docs.djangoproject.com/en/1.3/howto/custom-management-commands

Ответ №1:

Вы захотите использовать сигнал post_syncdb и фильтровать / вручную загружать приспособление с помощью базовых методов при создании определенных приложений или моделей.

Комментарии:

1. О, точно. Я слышал о сигналах, но на самом деле еще не читал об этом. Спасибо за предложение.