Google App Engine:未显示实体ID

时间:2011-01-07 04:18:16

标签: google-app-engine

我在Google App Engine python代码中有这个,

class ABC(db.Model):
  StringA = db.StringProperty()

abcs = ABC.all()
template_values = {'abcs': abcs,}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, template_values))

这在index.html中,

<script type="text/javascript">
{% for abc in abcs %}
  var id = "{{ abc.ID }}"; // needed the entity ID, the abc.ID doesn't show??
{% endfor %}
</script>

用于实体ID的正确关键字是什么,abc.ID ??

提前致谢。

1 个答案:

答案 0 :(得分:3)

{{abc.key.id}},假设您正在使用Django模板。 ID不是对象的属性,它是对象Key的一部分;在Django模板中(如果您使用google.appengine.ext.webapp.template,这就是您正在使用的模板),这相当于Python代码中的abc.key().id()

请注意,并非所有实体都拥有ID;如果你设置了密钥,它们可以有一个密钥名称。