在 Django 模板中获取 GAE 类 collection_name 的计数

Posted

技术标签:

【中文标题】在 Django 模板中获取 GAE 类 collection_name 的计数【英文标题】:Get count of GAE class collection_name in Django Template 【发布时间】:2012-08-29 17:56:36 【问题描述】:

我正在使用带有 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))

现在,我正在尝试做但似乎无法弄清楚的是如何从父对象中的隐含集合“孩子”中显示孩子的数量。这是我的 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>

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

【问题讨论】:

【参考方案1】:

您不需要itemschildren 已经是 db.Query 对象。不过,你最好还是使用p.children.count

【讨论】:

非常感谢。我想多了!

以上是关于在 Django 模板中获取 GAE 类 collection_name 的计数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 GAE 模板中获取当前页面的 url

(GAE 和 django) 模板过滤和时间格式显示

GAE/Django 模板错误

GAE Django webapp2 模板渲染

在 Django/GAE 中渲染包含的文件时没有显示错误

模板中的GAE“每个”?