我正在使用Google App Engine 1.8.3 - Python 2.7和NDB API作为我的数据存储区
假设我有一个显示在html表上的组实体列表。 我想点击单个组的名称来编辑组的信息。 该组的密钥/ ID应该是什么,我应该使用哪一个?请看下面的
这是我的模特:
class Group(ndb.Model):
name = ndb.StringProperty()
description = ndb.StringProperty()
在我的HTML中:
......
{% for group in groups %}
<tr>
<td>
<a href="/editGroup?id={{ ????????????? }}" {{ group.name}} </a>
</td>
<td>
{{ group.description}}
</td>
</tr>
{% endfor %}
......
在?????在<a>
标签内,我应该放什么?我该怎么把它传回服务器? group.key? group.key.id()?或者我必须将属性添加到组模型作为关键属性,如groupId = ndb.IntegerProperty()
?
我正在考虑使用实体的密钥,但我无法找到一种方法来显示来自'group'的html中的密钥,例如group.something_to_get_the_key()
。
我可以使用group.key.id()
获取数字ID,但根据https://developers.google.com/appengine/docs/python/ndb/entities#numeric_keys
数字ID可能不是唯一的。
由于
答案 0 :(得分:2)
在NDB中,密钥具有urlsafe()
方法,该方法生成适合在模板中使用并传递给URL的字符串:
{{ group.key.urlsafe }}
这已记录在您已链接到的同一页面上。