私は、データベース内のオブジェクトのスコアに関連するランクを見つけるための効率的な方法を見つけようとしています。私の素朴な解決策は次のようになります。
rank = 0
for q in Model.objects.all().order_by('score'):
if q.name == 'searching_for_this'
return rank
rank += 1
order_byを使用して、データベースにフィルタリングを実行させることができるはずです。
Model.objects.all()。order_by('score')。filter(name ='searching_for_this')
しかし、フィルターの後のorder_byステップのインデックスを取得する方法はないようです。
これを行うためのより良い方法はありますか?(python / djangoおよび/またはrawSQLを使用します。)
私の次の考えは、挿入時にランクを事前に計算することですが、それは厄介なようです。