【发布时间】:2014-03-17 21:14:41
【问题描述】:
我在post_save 信号上设置了接收器,我希望通过将发送器设置为主模型来捕获模型的所有代理的信号,但它似乎不起作用:
class MyObject(models.Model):
....
class MyObjectProxy(MyObject):
class Meta:
proxy = True
# The receiver
# How to avoid writing another one for sender=MyObjectProxy ?
@receiver(post_save, sender=MyObject)
...
发生这种情况时,我的接收器不会被触发:
obj = MyObjectProxy()
obj.save()
这正常吗?
我必须为每个代理设置一个接收器吗?
我可以将sender 设置为模型列表吗?
谢谢。
【问题讨论】:
-
什么是
MyObjectProxy? -
代理模型,我正在更新我的问题以使其更清晰。
-
嗯。保存模型实例时会触发信号。为什么要在模型类上调用 save()?
-
是的,我在示例中犯了一个错误。我改了。
-
@Michael 你当时解决了这个问题吗?我在这里遇到了同样的问题。
标签: django django-signals