我正在使用带有ndb后端的Google App Engine,我希望从ndb实体获得单个值ex:int
,在任何查询之后,我得到整个实体的投影,在我的情况下我有一个交易实体,我想总结金额属性。
我现在使用的是对查询结果的列表理解,如:
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 :(得分:3)
没有直接的方法来获取投影获取的值列表(我想你正在寻找django orm Transactions.query()。all()。values())的ndb模拟,你可以这样做:< / p>
result = sum([x.amount for x in Transactions.query().fetch(
projection=[Transactions.amount,])])
https://cloud.google.com/appengine/docs/python/ndb/projectionqueries