Набор запросов Django для детей и внуков - PullRequest
1 голос
/ 10 февраля 2012

У меня есть модель django, которая ссылается на себя (в отношениях родитель-ребенок-внук).

Я пытаюсь выполнить запрос, который вернет все экземпляры потомка и внука определенногородитель.

Так, например:

class Post(models.Model):
    parent = models.ForeignKey('self', null=True, related_name="children")

Это отношение углубляется на 3 уровня - Какой лучший способ получить набор запросов со всеми детьми / внуками?Я хотел бы собрать их все вместе, чтобы я мог заказать их по дате.

Ответы [ 2 ]

6 голосов
/ 10 февраля 2012

Я думаю, что это должно работать:

from django.db.models.query import Q
Post.objects.filter(Q(parent = post) | Q(parent__parent = post))
1 голос
/ 10 февраля 2012

Я думаю, вам стоит попробовать django-mptt .

...