Django多重"菊花链"楷模

时间:2017-01-11 19:58:03

标签: django

我有五个"已连接" model:Book,Chapter,Page,Paragraph,Line。在

的意义上,它们都通过一系列外键连接起来
  • Line有一个外键将其链接到Paragraph
  • 段落有一个外键将其链接到Page
  • Page有一个外键,将其链接到Chapter
  • 章节有一个将其链接到Book
  • 的外键

基本上,5个表,4个一对多关系。

我想显示一个嵌套列表树。我知道如何为Book和Chapter(使用重组)做到这一点,但是当我需要"深入挖掘"我被卡住了。

1 个答案:

答案 0 :(得分:0)

这与regroup无关,您只需要使用反向关系。我想象这可能会对模板渲染器产生非常大的负担,但您可能需要研究如何使其更好地运行。

{% for chapter in book.chapter_set.all %}
    {% for page in chapter.page_set.all %}    
        {% for paragraph in page.paragraph_set.all %}        
            {% for line in paragraph.line_set.all %}
            {% endfor %}        
        {% endfor %}    
    {% endfor %}
{% endfor %}