我需要像 m2m_changed 信号:
def event_handler(sender, instance, **kwargs):
pass
m2m_changed.connect(event_handler, sender=MyModel.tags.through)
但我想知道 event_handler
中 instance.tags 的先前状态答案 0 :(得分:2)
我相信你现在已经找到了解决方案。但是对于其他人参考,您可以通过检查kwargs['action'] == "pre_add"
或kwargs['action'] == "pre_remove"
来检查更新,然后再进行任何更新。您可以找到更多详细信息here。
答案 1 :(得分:0)
看看Django文档:
https://docs.djangoproject.com/en/dev/ref/signals/#m2m-changed
您应该能够使用信号处理程序的action
和pk_set
参数来弄清楚发生了什么。