我想删除ManyToMany字段中的实现时使用m2m_changed
信号。我在models.py
:
class Unit(Model):
# ....
class Package(Model):
# ...
Lesson = ManyToManyField(Unit, blank=True)
def toppings_changed(sender, **kwargs):
if kwargs.get("pk_set") and kwargs.get("action") == "pre_clear":
# get id of lesson to delete and do something with it
m2m_changed.connect(toppings_changed, sender=Packages.Lesson.through)
我想在Lesson
模型中移除Package
关系时执行某些操作。但当我删除一个关系pre_clear
将会调用,我无法访问pk_set
(它是无)。在课程模型中删除关系时,有没有办法访问Unit
id。
答案 0 :(得分:0)
根据文档。
pk_set ...
对于pre_clear和post_clear操作,这是None。
https://docs.djangoproject.com/en/dev/ref/signals/#m2m-changed