我有一个 Product 模型,与 Rating 模型具有一对多的关系。我之前在 Product 模型中存储了一个 average_stars 字段,每次为该 Product 模型添加新的 Rating 时我都会更新该字段。我将在views.py 中有一个函数,它将返回所有产品实例的查询集,按average_star 排序。有没有办法使用 .aggregate 和 .order_by 的组合或任何类似的方法来更动态地执行此操作。
换句话说,有没有办法从每个产品的所有各自的评级模型中计算平均值,并按该属性对它们进行排序?哪种方法更好?