2

在谷歌App Engine的NDB的位置,我用下面的檢索所有實體,並根據自己的等級進行排序:谷歌App Engine的NDB:找訂單查詢列表

ranks = Member.query().order(-Member.grade) 

然後我想知道特定成員的位置:

i = 0 
for rank in ranks: 
    if rank.account == 'abc' 
     position = i 
     break 
    i += 1 

我的問題:是有一個相當於NDB操作查找特定實體的位置?謝謝。

回答

2

我相信它可以在兩個步驟

  1. 檢索其賬戶名爲 'abc' 的條目進行

    目標= Member.query(Member.account == 'ABC')。獲得()

  2. 查詢條目具有更高等級

    N = Member.query(Member.grade> target.grade).Count之間()

然後你得到目標的等級爲n + 1