Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.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 query.filter和gql_Python_Google App Engine_Google Cloud Datastore_Gql - Fatal编程技术网

Python query.filter和gql

Python query.filter和gql,python,google-app-engine,google-cloud-datastore,gql,Python,Google App Engine,Google Cloud Datastore,Gql,我正在尝试这个函数,但是有点不对劲。我存储了名称“John”,但当我将John传递给用户名并调用检查用户时,输出总是返回结果,即使名称未存储在google数据存储中。为什么? def check_user(self, username_): query = db.Query(Registrations) results = query.filter('username =', username_) if results: return results u

我正在尝试这个函数,但是有点不对劲。我存储了名称“John”,但当我将John传递给
用户名
并调用
检查用户
时,输出总是
返回结果
,即使名称未存储在google数据存储中。为什么?

def check_user(self, username_):
    query = db.Query(Registrations)
    results = query.filter('username =', username_)
    if results:
        return results

user_username = self.request.get('username')
check_username_valid = self.check_user(user_username)

 if not check_username_valid:
    error_username_exists="Username already exists"
在GQL的情况下,我如何将变量
username\uuu
传递到查询中?比如:

 qr = db.GqlQuery("Select * from Registrations Where username = ?????")

results是查询对象而不是结果,您需要调用
query.filter('username=',username.'.get()
来返回单个结果,或者调用
query.filter('username=',username.').fetch()
来返回所有结果。

谢谢,为了学习,如何将变量传递到查询中?这可能会导致某种类型的注入?我认为这只是一个简单的字符串构建,在ndb中它会变得更加有趣。不!不要使用字符串连接插入参数!使用GQL文档中记录的参数替换(“:1“,“:2”等)。@循环我不理解您的问题,我以为您问的是如何在代码内部将变量传递到查询中。不要使用字符串构建来构建GQL,因为它与SQL一样对注入敏感。