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,])))) '雖然遠不如下面的例子可讀。 –

回答