【发布时间】:2016-02-13 23:09:26
【问题描述】:
我有一个定义信号接收器的信号类
class SearchSignalProcessor(object):
def post_save_connector(self, sender, instance, **kwargs):
# do something
def pre_delete_connector(self, sender, instance, **kwargs):
# do something
def setup(self, model):
signals.post_save.connect(self.post_save_connector, sender=model, dispatch_uid="index_after_save")
signals.pre_delete.connect(self.pre_delete_connector, sender=model, dispatch_uid="index_before_delete")
def teardown(self, model):
signals.pre_delete.disconnect(self.pre_delete_connector, sender=model, dispatch_uid="index_after_save")
signals.post_save.disconnect(self.post_save_connector, sender=model, dispatch_uid="index_before_delete")
我可以成功连接信号:
signal_processor = SearchSignalProcessor()
signal_processor.setup(SomeModel)
但是disconnect 不起作用。我尝试使用和不使用dispatch_uid,每次它只返回False。我做错了什么?
【问题讨论】:
-
无法真正评估发生了什么;您只在调用断开连接的地方显示一小段代码。我们需要更多才能真正弄清楚发生了什么。如果代码太大,可以把它放在github上并在此处附上链接......
-
听起来像是想出一个minimal reproducible example 会帮助你找到问题。
标签: python django django-signals