有沒有辦法可以子類Django ManyRelatedManager a.k.a. ManyToManyField?子類Django ManyRelatedManager又名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')
'代理Models'是在模型上定義額外的行爲,並且沒有任何字段。我不認爲這會工作....你有一個代碼示例讓這個工作? –