我是python&的新手谷歌应用程序引擎所以这将是一个基本问题,但我无法在其他地方找到答案...
我正在尝试通过将密钥(由GAE生成)从HTML页面传递回python来检索记录。
我的HTML电话是
<a href="/playerprofile?uid=ahRkZXZ-Y293YnJpZGdlYm9va2luZ3IWCxIGTWVtYmVyIgpKb2huIEpvbmVzDA">John Jones</a>
然后我试图将它从表中拉出来
uid = self.request.get('uid')
m = Member.all().filter('Key = ',uid)
它不会检索任何内容。我该怎么做?
答案 0 :(得分:2)
你不能这样做。密钥以urlsafe形式编码
您应该使用Key(encoded=None)
k = Key(uid)
m = Member.get(k)
密钥https://developers.google.com/appengine/docs/python/datastore/keyclass上的文档
然而,鉴于您是appengine的新手,您不应该使用 db 。您应该开始使用 ndb 作为数据存储区api,因为这是谷歌的开发投资所在。
如果您在此方案中使用ndb,则可以使用以下
m = Key(urlsafe=uid).get()
答案 1 :(得分:0)
我会改用Model.get_by_key_name()
:
uid = self.request.get('uid')
m = Member.get_by_key_name(uid)
以下是App Engine documentation上有关它的更多信息。