假设我有:
class Album(models.Model):
photos = models.ManyToManyField('myapp.Photo')
photo_count = models.IntegerField(default = 0)
class Photo(models.Model):
photo = models.ImageField(upload_to = 'blahblah')
我想要的是,每次我调用 .add() 方法时,增加 Album
类上的 photo_count
,所以我想覆盖 .add() 方法.问题是,我无法导入 .add()
的类,因为它在方法内部,所以它类似于 def->class->def
。那么有没有办法覆盖 .add()
?或者有更好的方法吗?
最佳答案
你 can use django's signals并编写一个信号处理程序,它将使用 m2m_changed
信号递增计数器:
https://docs.djangoproject.com/en/dev/ref/signals/#m2m-changed
关于python - django manytomanyfield.add() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13321398/