Django查询用作表达式的子查询返回的多行
我有一个非常简单的查询,我需要添加一个字段以获得按收益分组的平均价格-我尝试了Django查询用作表达式的子查询返回的多行,django,django-orm,django-annotate,array-agg,Django,Django Orm,Django Annotate,Array Agg,我有一个非常简单的查询,我需要添加一个字段以获得按收益分组的平均价格-我尝试了ArrayAgg,但不起作用 properties = ( House.objects.filter( # a lot of filters ).annotate( prices=ArrayAgg( HousePrice.objects.all().values("benefit").annotate(price_avg=Avg
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")
),
)
)
由用作表达式的子查询返回的多行
与这个模型的关系很大,所以这就是为什么我只想在annotate中使用普通的新查询,而不是遍历它们之间的所有模型
有没有办法解决这个问题?我不确定这种方式是否适合使用
ArrayAg
请添加您的房屋
型号。