У меня есть отдельный модуль python для приемников сигналов, он называется signals.py
и импортирован в ready()
метод моего AppConfig
.Несколько приемников сигналов Django в одном модуле
В этом модуле я реализовал post_save
и post_delete
сигналов приемников для конкретной модели и зарегистрировал их с помощью декоратора:
@receiver(post_save, sender=MyModel)
def generate_smth(sender, instance, created, **kwargs):
...
И это прекрасно работает. Но, когда я добавил к signals.py
приемникам же сигналы таким же образом, но из различных конкретных моделей:
@receiver(post_save, sender=AnotherModel)
def generate_smth(sender, instance, created, **kwargs):
...
Моих функции остановленных для приема сигналов. Но если я перемещаю приемники в отдельные модули python mymodel_signals.py
и anothermodel_signals.py
и импортирую оба модуля в ready()
, тогда все они снова работают.
Почему невозможно сохранить приемники в одном модуле?
Нет, мои функции делают разные вещи. Мой вопрос не в том, как реализовать описанное поведение, а о том, почему такое поведение не работает :) –