Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django查询用作表达式的子查询返回的多行_Django_Django Orm_Django Annotate_Array Agg - Fatal编程技术网

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

请添加您的
房屋
型号。