Django - Запуск пользовательского метода по команде Syndb - PullRequest
1 голос
/ 12 января 2011

Мне интересно, есть ли способ запустить пользовательский метод при выполнении syncdb.То, что я пытаюсь сделать, это загрузить почтовый шаблон в базу данных.Поскольку мне нужно почти один и тот же шаблон в нескольких записях в БД, я не хочу помещать его в файл initial_data.

Я искал документы django и Интернет, но не смог найтирешение для этого.

Любая помощь приветствуется.

1 Ответ

3 голосов
/ 12 января 2011

Как насчет сигнала post_syncdb?

http://docs.djangoproject.com/en/dev/ref/signals/#django.db.models.signals.post_syncdb

Подключите обработчик к сигналу и выполните все, что вы хотите в своей функции.

Ну, в вашем случае это может сработать, а может и нет.post_syncdb вызывается после создания таблицы и отправляется всем приложениям, поэтому, если вам нужен один метод, который обрабатывает все данные по умолчанию, вам нужно использовать что-то вроде следующего фрагмента, чтобы определить, является ли сигнал последним приложением всписок, чтобы убедиться, что ваши таблицы существуют: P.

http://djangosnippets.org/snippets/1988/

Ну, это идея.Наслаждайтесь!

...