因此,我阅读了Django源代码(发布1.5版),您现在可以将多个信号注册到一个接收器函数:

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信号从不同的senders注册到同一函数.现在,我只是打给

post_save.connect(fn_name, model_name)

对于我拥有的每一款车型.有没有更好的方式用新的Django 1.5@接收器decorator 功能来做到这一点?

推荐答案

您可以使用@receiver decorator:

from django.dispatch import receiver

@receiver(post_save, sender=Model1)
@receiver(post_save, sender=Model2)
@receiver(post_save, sender=Model3)
def my_signal_handle(sender , **kwargs)
    # some code here

Django相关问答推荐

django命令中的no_color不起作用

Django/SendGrid-密码重置-发件人地址与验证的发件人身份不匹配.";

DRF中没有参数的视图的警告-壮观

Django OneToOneFieldto抽象对象

我如何告诉Django如何恢复自定义迁移?

如何在Django中显示文件大小

没有与给定查询匹配的监视列表

Django没有';t显示黄页

Django Form标签和action属性

root urls.py 是 Django 中的 config/urls.py 吗?

Django 如何知道我的数据库的路径?

如何让 Django 在模板更改时重新启动运行服务器?

django - 表单没有错误,但 form.is_valid() 没有验证

Django REST Framework ModelSerializer get_or_create 功能

将现有 auth.User 数据迁移到新的 Django 1.5 自定义用户模型?

在生产中使用 Django 中的 SQLite?

PyCharm 无法正确识别需求 - Python、Django

django select_related - 何时使用它

django-getlist()

Django: Force强制 Select 相关?