2014-10-30 2 views
2

Существует сигнал post_syncdb для выполнения действий, которые могут быть выполнены после синхронизации. Есть ли подобный крючок для выполнения некоторых действий после загрузки приборов, то есть после команды python manage.py loaddata?Крюк для выполнения действий после команды loaddata (загрузочные приспособления)

У меня есть сценарий, который создает новую базу данных, запускает миграцию (syncdb) и загружает данные из светильников JSON. Опубликуйте все это, я хочу создать группы & разрешения для пользователей, которые были созданы. Где я могу подключить этот код?

P.S. Использовать post_migrate вместо post_syncdb для 1.7+

ответ

3

Read the source, Luke.

Проанализируйте обжигают post_migrate (или post_syncdb) сигнал в команде управления, см:

Из того, что мы видели, вот что вы должны попробовать:

  • create a custom signal (и слушатель, где бы вы создавать группы & разрешения)
  • create a custom management command подклассов loaddataCommand и наиважнейшая handle() метод:

    from django.core.management.commands.loaddata import Command 
    
    class MyCommand(Command): 
        def handle(self, *fixture_labels, **options): 
         super(MyCommand, self).handle(*fixture_labels, **options) 
    
         my_signal.send(sender=self.__class__, my_argument=my_argument_value) 
    

Не лично испытал это. Надеюсь, это сработает для вас.

+0

+1 для чтения источника, Люк! Дыня :) – ChillarAnand

 Смежные вопросы

  • Нет связанных вопросов^_^