1

我正在开发一个 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: 
    ...

当它运行时,页面返回“Excisting Results Found:”但是我知道实际上没有找到任何结果。有没有办法检查查询返回的结果是否为空?从返回的空白结果GqlQuery 会是什么样子?

任何帮助将不胜感激,
谢谢。

4

1 回答 1

3

在此示例中,q 是 GQL 查询对象。尽管您可以将其视为可迭代对象,但对其调用 get() 将返回单个结果,并且您需要将此结果分配给变量。您也可以通过检查 q.count(1) 是否大于 0 来检查是否有结果。

于 2009-12-22T03:04:21.630 回答