изменение набора запросов по умолчанию для рекурсивного отношения с самим собой - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть самоотношение, подобное этому:

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()

1 Ответ

0 голосов
/ 10 февраля 2020

Вы можете сделать это,

instance.subtypes(manager="objects").all()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...