[英]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.