Я пытаюсь создать какой-то KPI на своем сайте и изо всех сил пытаюсь получить данные. например, допустим, я создаю блог с моделью:
class MyPost(ndb.Model):
Author = ndb.KeyProperty(MyUser, required = True)
when = TZDateTimeProperty(required = True)
status = ndb.IntegerProperty(default = 1) # 1=draft, 2=published
text = ndb.TextProperty()
и я хочу создать запрос, в котором будут перечислены мои лучшие авторы, которые дадут мне результат (желательно отсортированный)
['Jack':10, 'Jane':8, 'Joe',0]
Я могу думать о 2 способах:
- query().fetch() все элементы и подсчет вручную, тогда это очень неэффективно, но наиболее гибко
- для автора в Users: result[author]=query(...).fetch().count() так себе эффективность и требует заранее знать мои индексы (не будет работать, если я хочу запросить "фаворит автора" домашний питомец"
какой из них предпочтительнее?
какие еще способы посоветуете?