如何在Python for循环中获取GAE ndb中当前记录的密钥?

时间:2012-08-09 02:20:51

标签: python google-app-engine app-engine-ndb

我目前有一个网页,其中显示了带有编辑链接的数据存储区中的记录列表。我想从db转换它。到ndb。我是Python和GAE新手。

当前代码=

  <tbody>
    {% for listtype in listtypes %}
    <tr>
      <td> {{ listtype.ListTypeName }} </td>
      <td><a href ="/listtypes/edit/{{ listtype.key().id() }}">edit </a></td>
    </tr>
    {% endfor %}    
  </tbody>

然后在.py方面,我有:

def post(self, listtype_id):
    iden = int(listtype_id)
    listtypes = db.get(db.Key.from_path('ListTypes', iden))
    listtypes.ListTypeName = self.request.get('ListTypeName')
    listtypes.put()

我通过复制别人的代码来实现这些目标,但它有效。我需要知道代码使用ndb的代码是什么样的。 (我对模型和include语句没问题,我只需要知道如何在jinja2模板中检索密钥以及如何在post函数中使用它。

请提供实际代码应该使用ndb的内容。

提前致谢。

1 个答案:

答案 0 :(得分:6)

使用NDB密钥是属性而不是方法。因此listtype.key().id()应为listtype.key.id()