【发布时间】:2015-08-27 20:38:46
【问题描述】:
有没有办法对 Django ManyRelatedManager a.k.a. ManyToManyField 进行子类化?
目标是在通过deleted=None 标志调用ManyRelatedManager 时预先过滤所有相关模型。如果deleted=None 则它是一个有效的Model。
到目前为止,这是代码,但它似乎不起作用。
class ExcludeDeletedManyToManyField(models.ManyToManyField):
def get_queryset(self):
qs = super(ExcludeDeletedManyToManyField, self).get_queryset()
return qs.filter(deleted__isnull=True)
class SelfRefrencingModel(models.Model):
children = ExcludeDeletedManyToManyField('self', blank=True,
symmetrical=False, related_name='parents')
【问题讨论】: