Python 使用jinja2访问实体集合

Python 使用jinja2访问实体集合,python,google-app-engine,jinja2,Python,Google App Engine,Jinja2,我有一个简单的“章节”模型: class Chapter(db.Model): book = db.ReferenceProperty(Book, collection_name='chapters') title = db.StringProperty(required=True) father = db.SelfReferenceProperty(collection_name='sons') 我试图在HTML页面上列出章节和子章节,其中包括: {% block c

我有一个简单的“章节”模型:

class Chapter(db.Model):
    book = db.ReferenceProperty(Book, collection_name='chapters')
    title = db.StringProperty(required=True)
    father = db.SelfReferenceProperty(collection_name='sons')
我试图在HTML页面上列出章节和子章节,其中包括:

{% block content %}
    {% for chap in chaps %}
       Title: {{ chap.title}}<br>
    {% endfor %}
{% endblock %}
{%block content%}
{chaps%中chap的%s}
标题:{{chap.Title}}
{%endfor%} {%endblock%}
有了这些,我得到了所有的章节和子章节,但我想列出这些章节的子章节,所以,我尝试了以下方法:

{% block content %}
    {% for chap in chaps %}
       Title: {{ chap.title}}<br>
       {% for sub in chap.sons %}
         teste: {{ sub.title }}<br>
       {% endfor %}
    {% endfor %}
{% endblock %}
{%block content%}
{chaps%中chap的%s}
标题:{{chap.Title}}
{chap.sons%中的子对象的%s} 测试者:{{sub.title}}
{%endfor%} {%endfor%} {%endblock%}
但是看起来chap.sons没有任何内容,因为它没有显示任何内容,但是我没有收到任何错误

(我确信数据库中有“儿子”)


如何正确使用“集合名称”

你的父亲得救了吗?你确定吗?是的,如果你对这样一本书做同样的操作,它们在数据库视图中:
{%forchap.chapters%}Title:{{{chap.Title}
{%forsub.sons%}teste:{{sub.Title}
{%endfor%}{%endfor endfor
它甚至停止显示章节。请尝试将变量名sub更改为其他名称(例如sub_chap)并报告?