这可能是一个比AppEngine特定问题更常见的python问题。我无法确定我的Google AppEngine GQL查询是否返回对象。 我是新来的AppEngine和蟒蛇,所以这可能是一个简单的问题Python - 我如何知道AppEngine GQL查询是否返回任何内容?
我使用的Python代码:
user = db.GqlQuery("SELECT * FROM UserStore WHERE user_id = 1234567890")
要检查,看看是否有一个用户回来后,我一直在尝试:
if(user in locals()):
self.response.out.write('User Exists: ' + user.user_id)
return
else:
CreateTheUser()
但我现在认为这不是最好的方法。有没有更好的方法来判断用户(或用户列表)是否已由db.GqlQuery
声明返回?
'如果locals()'中的用户由于多种原因没有做你期望的事情。首先,检查locals()会告诉你变量是否被定义 - 它会一直存在,因为你刚分配给它。其次,你实际上是在检查用户变量的_value_是否作为本地关键字存在 - 你要做的应该是locals()中的'user'。例如'foo ='hello'; ()中的foo相当于locals()中的'hello',而不是当地人()中的''foo'! – 2012-07-20 07:09:03