我有一个非常简单的查询,我需要添加一个字段来获得按利益分组的平均价格 - 我尝试过ArrayAgg
但没有工作。
properties = (
House.objects.filter(
# a lot of filters
).annotate(
prices=ArrayAgg(
HousePrice.objects.all().values("benefit").annotate(price_avg=Avg("price")).values("benefit_id" "price_avg")
),
)
)
用作表达式的子查询返回的不止一行
与这个模型的关系很大,所以这就是为什么我只想在注释中使用普通的新查询,而不是遍历所有模型之间的关系。
关于如何解决这个问题的任何想法?我不确定这种方式是否好用ArrayAgg
。