К сожалению, этот пост не изменит ничего, но тем не менее я не могу не поделиться наблюдением о том, что авторы питоновской части GAE - идиоты. Они попытались скопировать синтаксис джангового орма, при этом порядочно искалечив его, но не это самое плохое. Самое плохое, что я на сегодняшний день нашëл, выражается вот таким кусочком кода:
def improved(request):
d = date.today()
q = Stat.all().filter('date', d - timedelta(1))
def value(q):
try:
return q.get().value
except AttributeError:
return 0
return {
'users': value(q.filter('type', Stat.TOTALUSERS)),
'questions': value(q.filter('type', Stat.TOTALQUESTIONS)),
}
Тут всë выглядит клëво, правда? Вот только есть один нюанс: в questions
у меня
тут попадает 0 (хотя судя по базе данных - должно попасть куда более другое
число). Я долго-долго думал и поменял местами users
и questions
, и после
этого 0 стал попадать в users
( questions
в это время оказались заполнены
как надо).
Я не знаю, какой идиот это сделал, но надеюсь, что он хотя бы икнëт. ;)