过滤/获取谷歌应用引擎中的实体,以验证它是否存在

时间:2012-02-04 15:31:58

标签: python google-app-engine

我在谷歌应用引擎中有以下模型:

class CustomUsers(db.Model):
    cuid = db.StringProperty()
    name = db.StringProperty()
    email = db.StringProperty()
    bday = db.StringProperty()

现在给出cuid我只想检查他是否存在于高复制数据存储中。 在我的观点中,我写了以下内容,但最终得到500错误:

usr_prev = CustomUsers.all().filter('cuid =', request.POST['id'])
if(not usr_prev):
    logging.info("this user does not exist")
else:
    logging.info("user exists") 

但这给了我一个错误。我该怎么办? (不要考虑任何导入问题。)

3 个答案:

答案 0 :(得分:0)

“500错误”不是孤立存在的。它们实际上在调试页面或日志中报告有用的信息。我猜你的日志显示request.POST没有元素id,但这只是猜测。

答案 1 :(得分:0)

我注意到您已将查询对象分配给usr_prev。您需要执行查询。我认为Query.count(1)函数应该这样做。

但是,这可能与500错误无关。

答案 2 :(得分:0)

你可以这样看看:

query = Users.all()
cnt = query.filter('id =', user_id).count()
logging.info(cnt)
return int(cnt)

一旦完成,似乎你正在使用django和app引擎,根据错误你没有返回字符串响应。你可能想要回来 return HttpResponse("1")代替return HttpResponse(1)