在Django Template中获取GAE类collection_name的计数

时间:2012-09-05 03:49:06

标签: python google-app-engine django-templates google-cloud-datastore

我正在使用带有python 2.7和Django模板的Google App Engine。

我的对象模型设置如下:

Class parent(db.Model):
  parentName = db.StringProperty()

Class child(db.Mode):
  childName = db.StringProperty()
  parent = db.ReferenceProperty(parent, collection_name='children')

我的python代码将所有父项传递给模板

qry_parents = parent.all()
parents = qry_parents.fetch(30)
template_values = {'parents':parents}

self.response.out.write(template.render(path, template_values))

现在,我想要做的,但似乎无法弄清楚,是如何显示父对象中隐含的集合“children”中的子项计数。以下是我的template.html

的示例
<html>
<body>
  <table>
  {% for p in parents %}
    <tr>
      <td>{{ p.parentName }}</td>
      <td>{{ p.children.items|length }}</td> <!-- always zero! -->
    </tr>
  {% endfor %}
  </table>
</body>
</html>

我似乎无法引用正确的东西来计算孩子的数量。我觉得我很接近,因为我得到零,而不是无或无效。有人能指出我正确的方向吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

您不需要itemschildren已经是db.Query个对象。你最好不要做p.children.count