我正在使用Google App Engine和Python 我有一个带物品的模型 在我插入带有item.put()的项目后立即 我希望得到它的密钥并使用此密钥重定向到页面。
类似的东西:
redirectUrl = "/view/key/%s/" % item.key
self.redirect(redirectUrl)
答案 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()..