首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GQLQuery检索空结果集

GQLQuery检索空结果集
EN

Stack Overflow用户
提问于 2011-11-07 21:29:49
回答 1查看 236关注 0票数 1

我正在运行GQLQuery来查找用户是否输入了正确的凭据:

代码语言:javascript
复制
class User(db.Model):
    UserName = db.TextProperty();
    Password = db.TextProperty();
    Ticket = db.TextProperty();

class Authentication(webapp.RequestHandler):
    def post(self):
        str_user = self.request.get('user')
        str_password = self.request.get('password')
        user = db.GqlQuery("SELECT * FROM User WHERE UserName = :1 AND Password = :2",str_user, str_password)
        self.response.out.write(str_user)
        self.response.out.write(str_password)
        self.response.out.write(str([u.UserName for u in user]))

        if user.count() > 0:
            ticket = str(uuid.uuid4())
            user.Ticket = ticket
            self.response.out.write(ticket)
        else:
            self.response.out.write('Not authorized!')

查询总是返回一个空的结果集(带有"WHERE"-clause),尽管我确信我已经传递了正确的参数。

我尝试连接我自己的查询字符串,但结果仍然是一样的。如果我删除“WHERE”连接,我就会得到数据库的所有用户,所以我猜数据库连接是可以的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-07 21:50:16

这可能是因为您在字段上使用了TextPropertyTextProperty用于多行文字,不会编制索引。不能在查询中查找非索引值。对于单行文本值,应使用StringProperty

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8037130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档