在我的Main
模型中,我有一個total_value
,我用這個值排序。當用戶輸入一個值時,我想告訴用戶他的訂單號碼爲total_value
。我該怎麼做呢?Google App Engine:如何分辨用戶值的排序位置?
換句話說,如果數據庫中的total_value
是5,8,10,25,並且用戶輸入了15的total_value
,我該如何告訴他他將在第4位?
謝謝!
在我的Main
模型中,我有一個total_value
,我用這個值排序。當用戶輸入一個值時,我想告訴用戶他的訂單號碼爲total_value
。我該怎麼做呢?Google App Engine:如何分辨用戶值的排序位置?
換句話說,如果數據庫中的total_value
是5,8,10,25,並且用戶輸入了15的total_value
,我該如何告訴他他將在第4位?
謝謝!
您需要編寫一個查詢來計算比用戶的total_value
小的值的數量。如果有很多實體,這可能會很慢。在這種情況下,您可能希望只計算較小的第一個N
值,然後停止(例如,告訴用戶他們排名爲1000+)。您的查詢可能是這樣的:
# get the rank of total_value compared to existing total_values (up to 1,000)
rank = Main.all().filter('total_value <', total_value).count(1000) + 1
你可以得到有實體數的計數total_value
小於或等於當前用戶total_value
。
您可以使用count()方法來執行此操作(在Query對象上)。
謝謝David Underhill和Rahul:'count()'的作品。 – Zeynel 2011-02-24 01:21:29