修改递归自关系的默认查询集



我有这样的自关系:

from django.db import models
class TypeManager(models.Manager):
def get_queryset(self):
return super().get_queryset().filter(parent_type__isnull=True)

class Type(models.Model):
parent_type = models.ForeignKey('self', related_name='subtypes', null=True)
objects = TypeManager()

我修改了默认查询集,以便Type.objects.all()返回所有没有子类型的内容。但是当我有某种类型instance并想要获取其所有子类型时,我会收到空结果:

instance.subtypes.all()

问题:如何在这里获取子类型:instance.subtypes.all()

你可以这样做,

instance.subtypes(manager="objects").all()

最新更新