2009-12-22 6 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: 
    ... 

"Excisting 결과를 찾을 수 :"이것은 코드 내가 어떤 결과가 없었다 알고 있지만 사실 발견. 쿼리 결과가 비어 있는지 확인하는 방법이 있습니까? 어떤 빈 결과가 GqlQuery에서 돌아 왔을 때처럼 보입니까?

아무런 도움이 필요하지 않으시면
감사합니다.

답변

3

이 예제에서 q는 GQL 쿼리 개체입니다. iterable로 처리 할 수 ​​있지만 get()을 호출하면 단일 결과가 반환되므로이 결과를 변수에 할당해야합니다. q.count (1)이 0보다 큰지 검사하여 결과가 있는지 확인할 수도 있습니다.

+0

그게 효과가 있습니다! 고마워요! –

+3

아니요! q.count()를 호출하여 결과를 확인하지 마십시오. 동일한 쿼리를 두 번 실행해야합니다. 한 번은 카운트를 가져오고 한 번만 결과를 얻습니다. –

관련 문제