Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的GAE数据存储将找不到我知道存在的实体_Python_Google App Engine_Datastore_Gql - Fatal编程技术网

python中的GAE数据存储将找不到我知道存在的实体

python中的GAE数据存储将找不到我知道存在的实体,python,google-app-engine,datastore,gql,Python,Google App Engine,Datastore,Gql,如果我执行以下代码: def post(self): name = self.request.get('username') password = self.request.get('password') user_is = users.all().filter('name =', name).get() params = dict() if user_is: hashword = user_is.password if c

如果我执行以下代码:

def post(self):
    name = self.request.get('username')
    password = self.request.get('password')
    user_is = users.all().filter('name =', name).get()
    params = dict()
    if user_is:
        hashword = user_is.password
        if check_password(username, password, hashword):
            key = db.Key.from_path('users', str(user_is.key().id()))
            c = db.get(key)
            secret_cookie = make_cookie_secret(c)
            self.response.headers.add_header('Set-Cookie', "user_id=%s; Path=/" % secret_cookie)
            self.redirect('/blog/userwelcomepage')
        else:
            params['passworderror'] = "Invalid username/password"
            self.render("pagelogin.html", **params)
    else:
        params['usernameerror'] = "No such user"
        self.render("pagelogin.html", **params)
数据存储永远无法在筛选器查询中找到任何内容。我创建了两个特殊页面,以确保我要查找的数据确实存在,其中一个页面从我将u传递到迭代的jinja模板中的用户处迭代u=db.GqlQuerySELECT*

{%for i in u%}i.usernamei.passwordi.email{%endfor%}

我看到了预期的用户名

然后,我创建了一个jinja模板,其中包含:

users.all()
然后我迭代:

{% for i in users %}{% if i.username == "Joe"%}Yay{% else %}nope{% endif %}{% endfor %}
我要找的用户名Joe会生成一个Yay

为什么jinja能画出正确的匹配,而Gql不能?无论我做什么,任何按何处或按何处进行筛选的搜索。筛选器都不会返回任何结果

按键搜索可以正常工作。

您尝试过这个吗

user_is = users.all().filter('username =', name).get()

另外,username是db.StringProperty,所以它应该是indexedt这也是我的猜测。