从数据存储中的实体检索 ID

Retrieve ID from entity in datastore

我正在尝试将查询结果输出到 HTML table 并在其旁边放置一个 link 以删除实体。

如何从数据存储中检索每个实体的 ID,以便删除 link 知道它需要删除哪个实体?。我正在使用 Python/Webapp2/Jinja2.

HTML:

<table>
  <tr>
    <th><b>{{ result.email }}</th>
    <th><b>{{ result.date }}</th>
    <th><b>{{ result.title }}</th>
    <th><b>{{ result.content }}</th>
    <th><a href="/delete/{{ ID GOES HERE }}"</th> 
  </tr>
</table>

Python:

class MyRequestsHandler(webapp2.RequestHandler): # Queries the datastore

def get(self):
    user = users.get_current_user()
    userIdentity = users.get_current_user().user_id()
    #email = users.get_current_user().email()
    login_url = users.create_login_url(self.request.path)
    logout_url = users.create_logout_url(self.request.path)

    q = WorkRequest.query(WorkRequest.userId == userIdentity)

    results = q.fetch(10)

    template = template_env.get_template('myrequests.html')
    context = {

        'user': user,
        'login_url': login_url,
        'logout_url': logout_url,
        'results': results,
    }

    self.response.out.write(template.render(context))

您使用的是自定义 ID 还是来自 ndb 的标准整数 ID?我想你想要的是:

{{ result.key.id() }}

取决于您使用的型号。但是您可以考虑将 url safe key 发送到模板并使用它。