Так что я прочитал исходный код Django (Post 1.5), что теперь вы можете зарегистрировать несколько несколько сигналов функции приемника:Объединение нескольких сигналов post_save с одним приемником
def receiver(signal, **kwargs):
"""
A decorator for connecting receivers to signals. Used by passing in the
signal (or list of signals) and keyword arguments to connect::
@receiver(post_save, sender=MyModel)
def signal_receiver(sender, **kwargs):
...
@receiver([post_save, post_delete], sender=MyModel)
def signals_receiver(sender, **kwargs):
...
"""
... implementation code...
Однако я хочу зарегистрировать несколько сигналов post_save от разных отправителей к той же функции. Прямо сейчас, я просто позвоню
post_save.connect(fn_name, model_name)
для каждой модели, которая у меня есть. Есть ли лучший способ сделать это с помощью новой возможности декодера Django 1.5 @receiver?
Это должен быть принятый ответ, хотя его можно сделать более сухим с помощью специального декоратора. – DylanYoung
Это может быть более СУХОЙ; однако, я думаю, что это будет в ущерб ясности в этом случае. – freethebees
Лучший ответ на вопрос –