0
class Lab(Model):
  pass

class School(Model):
  labs = ManyToManyField(Lab, related_name='schools')

def m2m_changed_labs(*args, **kwargs):
  pass

m2m_changed.connect(m2m_changed_labs, sender=Lab.schools)

m2m_changed信号永远不会被触发,因此该m2m_changed_labs函数永远不会被调用。我希望m2m_changed_labs每次将学校添加到实验室或从实验室中删除时调用该函数。

4

1 回答 1

0

你试过sender=School.labs.through吗?

并使用这样的接收器方法:

def m2m_changed_labs(sender, **kwargs):  # notice sender instead of *args
    print "signal received"

这是docs示例中使用的发件人。

于 2013-05-15T12:45:55.160 回答