評価モデルと1対多の関係にある製品モデルがあります。以前は、average_starsフィールドをProductモデルに保存していました。このフィールドは、そのProductモデルに新しい評価が追加されるたびに更新されていました。私はviews.pyに、average_star順に並べられたすべてのProductインスタンスのQuerySetを返す関数があります。.aggregateと.order_byの組み合わせ、またはこれらの線に沿ったものを使用して、これをより動的に行う方法はありますか?
つまり、それぞれの評価モデルすべてから各製品の平均を計算し、その属性で並べ替える方法はありますか?そして、どちらのアプローチが優れていますか?