Как получить данные из модели и всех его детей? - PullRequest
1 голос
/ 22 августа 2011

у меня есть модели:

class Article(models.Model):
    ...

class Category(models.Model):
    ...
    parent = models.ForeignKey(Category, etc.)
    ...

Я хотел бы получить все статьи в категории, включая дочерние категории, до самого конца.

Ex:

Cat_1
\-Cat_2
  \-Cat_3
    \-Cat_4 (article_1)
  \-Cat3a (article_2)

Как построить запрос для Cat_1, чтобы получить article_1 и article_2?

1 Ответ

1 голос
/ 22 августа 2011

Идея такова:

def retrieve( category = None ):
  if( category )
    _cat = category
  else:
    _cat = Category.objects.get(...)

  if( _cat.parent ):
    return retrieve( _cat.parent )

  return _cat

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...