0

我使用Google App Engine与ndb后端,我想从ndb实体获取单个值ex:int,在任何查询后我使用投影获取整个实体,在我的情况下,我有一个Transactions实体和I想要总结金额属性。如何从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) 

在此先感谢

+0

这是不可能 – Greg

+0

甚至没有比我更简单的方法? 我的意思是如果我有一个数百个实体该怎么做??! –

+0

只需在上面的代码中注释'query'就是实体列表,而不是查询对象。所以你可以将上面的结果减少到'result = reduce(lambda x,y:x + y,map(lambda x:x.amount,Transactions.query()。fetch( projection = [Transactions.amount,])))) '虽然远不如下面的例子可读。 –

回答