San*_*ana 6 python django overriding manytomanyfield
假设我有:
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')
Run Code Online (Sandbox Code Playgroud)
我想要的是,每次调用.add()方法时,都会增加photo_counton Album类,所以我想覆盖.add()方法.问题是,我无法导入.add()该类,因为它在方法内部,所以它就像def->class->def.那么无论如何要覆盖.add()?或者有更好的方法来做到这一点?
您可以使用django的信号并编写一个信号处理程序,使用该m2m_changed信号递增计数器:
https://docs.djangoproject.com/en/dev/ref/signals/#m2m-changed
| 归档时间: |
|
| 查看次数: |
1691 次 |
| 最近记录: |