当我在admin中保存实例时,我想在模型的overriden save()方法中使用ManyToManyField的用户更新值。
事实证明,通过设计,django在调用save()之前不会更新M2M字段,但只有在save()完成后才能作为表单保存的一部分...
e.g。在两个打印命令中,显示的值是用户在admin:
中更新模型实例之前的值class MyClass(models.Model):
an_m2m_field = models.ManyToManyField(MyOtherCLass)
def save(self, *args, **kwargs):
print self.an_m2m_field.all()
super(MyClass, self).save(*args, **kwargs) # Call the "real" save() method.
print self.an_m2m_field.all()
如何在覆盖保存()?
中访问此字段的新值