我想检查Google App Engine数据存储区中的数据存储区查询是否有任何结果。这是我的问题:
users = User.all()
users.filter("hash =", current_user_hash)
检查我的查询是否返回任何结果的最快和最优雅的方法是什么?
PS:我知道这样做的方法,但我不确定它是否非常有效......答案 0 :(得分:4)
如果您还需要获取结果,最有效的方法是使用.fetch()获取结果,然后检查列表是否为非空。如果您实际上不需要结果,请调用.count(1)。
如果你还需要结果,你不应做的是调用.count(1) - 这将需要执行两次查询。
答案 1 :(得分:2)
users.count(1)
可能是最快的方法; users.fetch(1)
将是实现此目的的另一种方式,但需要获取整个实体;根据该实体的规模,这可能相当慢。