django - Django 查询 用作表达式的子查询返回多行
问题描述
我有一个非常简单的查询,我需要添加一个字段来获得按利益分组的平均价格 - 我尝试过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
。
解决方案
推荐阅读
- c# - 尝试使用 HttpClient 检索 AccesToken 时出现错误
- arrays - 如何将 0 元匿名函数应用于数组
- windows - 如何使用 CMake 生成 Windows DLL 版本信息?
- c# - VS2019 Docker 支持和 Dockerfile 失败
- sql - 如何用存储在 SQL Server 中不同表中的值替换 XML 中的字符串?
- loops - 为计算列循环工作 DAX 函数
- c# - 中间件未正确处理 JsonSerializationError
- swift - 如何以编程方式从搜索栏切换到显示屏幕
- powershell - 遍历嵌套的 AD 组,直到找到所有成员
- rest - REST api 中的建模命令