Я использую Google App Engine с бэкэндом ndb, и я хочу получить одно значение ex: int
из объекта ndb, после любого запроса я получаю весь объект с проекцией, в моем случае у меня есть сущность транзакций и я хотите суммировать свойства суммы.Как получить одно значение из запроса gae ndb?
Что я использую сейчас список понимание на запрос результат, как:
query = ndb.gql("select amount from Transactions").fetch()
result = sum([x.amount for x in query])
Есть ли способ сделать Ndb запрос возвращает список только суммы, поэтому, я могу суммировать результат запроса непосредственно как:
query = ndb.gql("select amount from Transactions").fetch()
result = sum(query)
заранее спасибо
Это не возможно – Greg
даже не более простой способ, чем у меня? Я имею в виду, что, если у меня есть сотни этого сущности, что делать?! –
Просто примечание 'query' в вашем коде выше является фактически списком сущностей, а не объектом запроса. Таким образом, вы могли бы уменьшить приведенное выше значение 'result = reduce (lambda x, y: x + y, map (lambda x: x.amount, Transactions.query(). Fetch ( projection = [Transactions.amount,]))) 'хотя и гораздо менее читаемым, чем пример ниже. –