我在想要转换为 SQLAlchemy ORM 查询的 Django 模型管理器中有以下注释:
annotations = {
'review_count' : Count("cookbookreview", distinct=True),
'rating' : Avg("cookbookreview__rating")
}
return self.model.objects.annotate(**annotations)
我本质上需要的是查询中的每个模型对象作为初始查询的一部分具有并附加到它们review_count
。rating
我相信我可以使用column_property
,但我想避免在对象上使用这种类型的“计算属性”,因为我不希望在访问模板中的属性时为每个对象完成属性(昂贵的查找)。
解决这个问题的正确方法是什么?提前致谢。