繁体   English   中英

通过密钥检索GAE数据

[英]Retrieving GAE data via Key

我是python和google app引擎的新手,所以这将是一个基本问题,但在其他地方找不到答案...

我试图通过将键(由GAE生成)从HTML页面传递回python来检索记录。

我的html通话是

<a href="/playerprofile?uid=ahRkZXZ-Y293YnJpZGdlYm9va2luZ3IWCxIGTWVtYmVyIgpKb2huIEpvbmVzDA">John Jones</a>

然后我试图像这样将其从桌子上拉出来

uid = self.request.get('uid')
m = Member.all().filter('Key = ',uid)

它不会检索任何东西。 我该怎么做?

你不能这样做。 密钥以urlsafe形式编码

您应该使用Key(encoded=None)从编码的密钥构造Key

k = Key(uid)
m = Member.get(k)

Key上的文档https://developers.google.com/appengine/docs/python/datastore/keyclass

但是,鉴于您是Appengine的新手,您不应该使用db 您应该开始使用ndb作为数据存储区api,因为这是Google进行开发投资的地方。

如果在这种情况下使用ndb,则应使用以下命令

m = Key(urlsafe=uid).get()

我将使用Model.get_by_key_name()代替:

uid = self.request.get('uid')
m = Member.get_by_key_name(uid)

有关更多信息,请参见App Engine文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM