为什么“m2m_changed”信号永远不会从管理站点被解雇?

时间:2011-08-14 19:49:11

标签: python django signals

好吧,不知道这是一个错误还是我有一个概念错误。但试着测试一下:

一个简单的通用测试:

from django.dispatch import receiver
from django.db.models.signals import m2m_changed

@receiver(m2m_changed)
def test_handler(sender, instance, action, reverse, model, pk_set, **kwargs):
     import sys
     print>>sys.stderr, action

将此代码段添加到您的代码中,并尝试从包含m2m关系的管理员编辑模型。您可以在关系中添加或删除对象。然后,您将看到信号不会触发:S

相反,如果你从shell做同样的事情......一切正常。

任何人都可以尝试并确认它不是我电脑上的超自然活动吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我在我的一个模型上尝试过它完美的工作。如果您发布模型文件代码的所有内容,那将非常有用。