如何从模型和他的所有孩子那里获取数据?

时间:2011-08-22 13:25:40

标签: django django-queryset

我有模特:

class Article(models.Model):
    ...

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

我想检索所有类别的文章,也包括苦味的子类别。

例如:

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

如何为Cat_1构建查询以获取article_1和article_2?

1 个答案:

答案 0 :(得分:1)

想法是:

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

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

  return _cat

我希望这可以提供帮助。