「views」と「votes」という2つの整数フィールドを持つ「Story」というモデルがあります。すべてのStoryオブジェクトを取得するときに、返されたQuerySetに、単に「ビュー」/「投票」である「ランキング」フィールドで注釈を付けたいと思います。次に、QuerySetを「ランキング」で並べ替えたいと思います。の線に沿った何か...
Story.objects.annotate( ranking=CalcRanking('views','votes') ).sort_by(ranking)
Djangoでこれを行うにはどうすればよいですか?または、PythonでQuerySetが取得された後に実行する必要がありますか(QuerySet内の各オブジェクトのランキングを含むリストを作成するなど)?
ありがとう!
PS:私の実際のプログラムでは、ランキングの計算は上記のように単純ではなく、最初のQuerySetの他のフィルターに依存しているため、ストーリーモデルの別のフィールドとして保存することはできません。