【问题标题】:How to fetch data from model and all of his childrens?如何从模型和他所有的孩子中获取数据?
【发布时间】:2011-08-22 13:25:40
【问题描述】:

我有模型:

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?

【问题讨论】:

  • 如果您不介意增加一些复杂性以换取更快、更简单的查找,这可能会有所帮助:stackoverflow.com/questions/2061092/…
  • 我建议您研究 django-mpt 或 django-treebeard 来帮助您对分层数据进行建模。

标签: django django-queryset


【解决方案1】:

想法是:

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

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

  return _cat

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-27
    • 2016-12-22
    • 1970-01-01
    • 2018-01-29
    • 2018-04-19
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多