使用一个接收器合并多个后保存信号 [英] Consolidating multiple post_save signals with one receiver
本文介绍了使用一个接收器合并多个后保存信号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
因此,我阅读了Django源代码(1.5版),您现在可以将多个信号注册到接收器函数:
So I read the Django source code (post 1.5) that you can now register multiple multiple signals to a receiver function:
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信号。现在,我只是打电话给
However, I want to register multiple post_save signals from different senders to the same function. Right now, I just call
post_save.connect(fn_name, model_name)
对于我拥有的每种型号。有了新的Django 1.5 @receiver装饰器功能,还有更好的方法吗?
for each model that I have. Is there a better way to do this with the new Django 1.5 @receiver decorator capability?
推荐答案
您可以使用@receiver来使用它装饰器:
You can use that using @receiver decorator:
@receiver(post_save, sender=Model1)
@receiver(post_save, sender=Model2)
@receiver(post_save, sender=Model3)
def my_signal_handle(sender , **kwargs)
# some code here
这篇关于使用一个接收器合并多个后保存信号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文