我需要在保存 Django 模型后操作数据,但我还需要访问 ManyToManyField。
这是我想要做的:
class Lab(Model):
institute = ManyToManyField(Institute)
def post_save_lab(sender, instance, created, *args, **kwargs):
if not instance.institute.all():
# Data processing...
post_save.connect(post_save_lab, sender=Lab)
问题是, instance.institute.all() 在那一刻总是空的……我怎么知道实验室有没有研究所?
我指定信号 m2m_changed 不能解决问题,因为如果 ManyToMany 关系中没有元素,则必须完成我的数据处理。因此不会调用 m2m_changed。
谢谢!