2009-12-22 2 views
1

Я работаю над приложением Google App Engine и сталкиваюсь с некоторыми проблемами с запросом GQL и оператором if. Это код:Какое значение имеет вид Blank 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. Хотя вы можете рассматривать его как итеративный, вызов get() на нем возвращает один результат, и вам нужно будет присвоить этот результат переменной. Вы также можете проверить, есть ли результаты, если q.count (1) больше 0.

+0

Это сработало! Большое спасибо! –

+3

Нет! Не проверяйте результаты, вызвав q.count() - для этого требуется выполнить один и тот же запрос дважды - один раз, чтобы получить счет, и один раз, чтобы получить результаты. –

Смежные вопросы