user_of_toster
@user_of_toster

Почему не заполняются группы автоматически после миграции Django?

Задача - после старта проекта автоматически создать группы и добавить список permissions.

Реализация - сигнал post_migrate. Т.е, после каждой миграции создавать группы и список permissions

Вопросы:
1) Почему этот код работает:
@receiver(post_migrate)
def populate_models(sender, **kwargs):
    print('Populating groups....')
....


а этот нет?:
@receiver(post_migrate, sender=apps.BoardConfig)
def populate_models(sender, **kwargs):
    print('Populating groups....')
....


После migrate в первом случае код выполняется 5 раз, а в коде ниже код не выполняется вообще. Я неправильно указал sender?

Я знаю про вариант вписать connect() в ready(), но я хочу использовать @receiver и изолировать сигналы в отдельном файле

2) Является ли реализация задачи в виде сигналов наилучшей? Что-то подсказывает, что запускать этот код после каждой миграции неправильно.
  • Вопрос задан
  • 31 просмотр
Решения вопроса 1
tumbler
@tumbler Куратор тега Django
бекенд-разработчик на python
Отправителем является объект конфига а не класс конфига. А оптимальность реализации сильно зависит от контекста.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы