如何在Google App Engine中获取最后插入的项目键

时间:2009-04-28 20:58:22

标签: python google-app-engine

我正在使用Google App Engine和Python 我有一个带物品的模型 在我插入带有item.put()的项目后立即 我希望得到它的密钥并使用此密钥重定向到页面。

类似的东西:

redirectUrl = "/view/key/%s/" % item.key
self.redirect(redirectUrl)

3 个答案:

答案 0 :(得分:4)

另外,item.put()返回键作为结果,因此几乎不需要再次获取该键 - 只需更改序列,例如

  item.put()
  redirectUrl = "/view/key/%s/" % item.key()

  k = item.put()
  redirectUrl = "/view/key/%s/" % k

答案 1 :(得分:1)

在你put()之后,你可以运行

item.key().id()

获取id()比直接使用key()稍微安全一些,因为您将间接调用__str__(),这可能不会发生在非strincg上下文中。

其他选项是调用id_or_name(),但在这种情况下你可能已经知道名字是什么。

答案 2 :(得分:1)

感谢Scott Kirkwood的倡议。 我实际上错过了()

redirectUrl = "/view/key/%s/" % item.key()
self.redirect(redirectUrl)

很高兴知道在谷歌数据存储区中你不需要使用Scope_identity之类的东西,但你可以在item.put()之后得到item.key()..