我正在开发Google App Engine应用程序,并且在使用GQL查询和if语句时遇到了一些问题。这是代码:
q = Song.gql("WHERE title = :1", self.request.get('song_title'))
q.get()
if q:
r = "Excisting Results Found: <br />"
print q
for song in q:
r += song.title+" by "+song.artist+"<br />"
self.response.out.write(r)
else:
...
当这个运行时,页面返回“发现的结果:”但我知道实际上没有找到任何结果。有没有办法检查查询返回的结果是否为空?从GqlQuery
返回的空白结果会是什么样的?
非常感谢任何帮助,
感谢。
答案 0 :(得分:3)
在此示例中,q是GQL查询对象。虽然您可以将其视为可迭代的,但在其上调用get()将返回单个结果,并且您需要将此结果分配给变量。您还可以通过检查q.count(1)是否大于0来检查是否有结果。