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 クエリ オブジェクトです。iterable として扱うことはできますが、get() を呼び出すと 1 つの結果が返されるため、この結果を変数に割り当てる必要があります。q.count(1) が 0 より大きいかどうかを確認することで、結果があるかどうかを確認することもできます。

于 2009-12-22T03:04:21.630 に答える