关于GAE的数据查询问题

2011-08-04 16:19:13 +08:00
 wickila
我有一句代码,就是普通的查询数据库:
def verify_app_key(appkey):
q = db.GqlQuery('SELECT * FROM AppKey WHERE app_key = :1', appkey)
数据库里面有那个实体,但是查询出来的q.count()是0
如果改成这样
def verify_app_key(appkey):
q = db.GqlQuery('SELECT * FROM AppKey WHERE app_key = :1', "pEbYtOdcX")
传进去的参数直接是写死的一个字符串,而不是一个变量。查询出来的结果就是正确的q.count()==1
请问一下有没有人碰到过这个情况?
4475 次点击
所在节点    Google App Engine
3 条回复
Weakdancer
2011-08-04 16:27:42 +08:00
@wickila

不知道你是不是在本地测试,本地的数据库可能会有各种奇怪的问题。

在服务器上就好了。

另外有可能是编码问题。
wickila
2011-08-04 16:47:35 +08:00
开始以为是编码问题,试了一下,不是。原因找到了,是因为appkey里面包含了空字符,用appkey.strip()就好了。还是谢谢楼上的了
wickila
2011-08-04 17:58:05 +08:00
@Weakdancer 不好意思,确实是编码问题,是因为那个参数被编码过,只要解码以后就ok了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/16478

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX