2009-12-22 63 views
1

我正在使用Google App Engine應用程序,並且一直在使用GQL查詢和if語句來處理一些問題。這是代碼:空白GQL結果的外觀如何?

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看起來怎麼樣?

任何幫助將不勝感激,
謝謝。

回答

3

在這個例子中,q是一個GQL查詢對象。雖然你可以把它當作一個迭代對象,但是調用get()會返回一個結果,並且你需要將這個結果賦值給一個變量。您也可以通過檢查q.count(1)是否大於0來檢查是否有結果。

+0

工作正常!非常感謝你! – 2009-12-22 03:12:13

+3

不!不要通過調用q.count()來檢查結果 - 這需要兩次執行相同的查詢 - 一次獲取計數,一次獲取結果。 – 2009-12-24 19:25:24