django信号:接收器和代理模型?
我在一个django信号:接收器和代理模型?,django,django-signals,Django,Django Signals,我在一个post_save信号上设置了一个接收器,我希望通过将发送方设置为主模型来捕获我的模型的所有代理的信号,但它似乎不起作用: class MyObject(models.Model): .... class MyObjectProxy(MyObject): class Meta: proxy = True # The receiver # How to avoid writing another one for sender=MyObjectProxy
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你当时解决这个问题了吗?我在这里遇到了同样的问题。所以我可以使用发送方=[]
?谢谢实际上不,你不能。接收器
装饰器只接受一个信号(或一组信号)和一个发送器作为kwarg。