0

我正在使用 Google App Engine 1.8.3 - Python 2.7 和 NDB API 作为我的数据存储

假设我有一个显示在 html 表上的组实体列表。我想单击单个组的名称来编辑组的信息。这个组的key/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.id()?或者我必须将属性添加到组模型作为关键属性,例如groupId = ndb.IntegerProperty()

我正在考虑使用实体的密钥,但我找不到在“组”的 html 中显示密钥的方法,例如group.something_to_get_the_key().

我能够使用 获取数字 ID group.key.id(),但根据https://developers.google.com/appengine/docs/python/ndb/entities#numeric_keys 数字 ID 可能不是唯一的。

谢谢

4

1 回答 1

2

在 NDB 中,键有一个urlsafe()方法可以生成适合在模板中使用并传递给 URL 的字符串:

{{ group.key.urlsafe }}

这记录在您已经链接到的同一页面上。

于 2013-08-18T18:52:47.130 回答