如何从 gae ndb 查询中获取单个值?
How to get a single value from gae ndb query?
我正在使用带有 ndb 后端的 Google App Engine,我想从 ndb 实体中获取单个值 ex: int
,在任何查询之后,我都会得到带有投影的整个实体,在我的例子中,我有一个 Transactions 实体,我想对 amount 属性求和。
我现在使用的是对查询结果的列表理解,例如:
query = ndb.gql("select amount from Transactions").fetch()
result = sum([x.amount for x in query])
有什么方法可以使 ndb 查询 returns 仅包含金额列表,因此,我可以直接对查询结果求和,如:
query = ndb.gql("select amount from Transactions").fetch()
result = sum(query)
提前致谢
没有直接的方法从投影获取中获取值列表(我想你正在寻找 django orm Transactions.query().all().values() 的 ndb 模拟),你可以这样做如下:
result = sum([x.amount for x in Transactions.query().fetch(
projection=[Transactions.amount,])])
https://cloud.google.com/appengine/docs/python/ndb/projectionqueries
我正在使用带有 ndb 后端的 Google App Engine,我想从 ndb 实体中获取单个值 ex: int
,在任何查询之后,我都会得到带有投影的整个实体,在我的例子中,我有一个 Transactions 实体,我想对 amount 属性求和。
我现在使用的是对查询结果的列表理解,例如:
query = ndb.gql("select amount from Transactions").fetch()
result = sum([x.amount for x in query])
有什么方法可以使 ndb 查询 returns 仅包含金额列表,因此,我可以直接对查询结果求和,如:
query = ndb.gql("select amount from Transactions").fetch()
result = sum(query)
提前致谢
没有直接的方法从投影获取中获取值列表(我想你正在寻找 django orm Transactions.query().all().values() 的 ndb 模拟),你可以这样做如下:
result = sum([x.amount for x in Transactions.query().fetch(
projection=[Transactions.amount,])])
https://cloud.google.com/appengine/docs/python/ndb/projectionqueries