gpt4 book ai didi

python Django - 将 SQL 查询转换为 ORM 查询

转载 作者:行者123 更新时间:2023-12-01 02:21:53 26 4
gpt4 key购买 nike

我想要sql查询到orm

SELECT id, title,
(SELECT SUM(AMOUNT) FROM web_history A WHERE A.car_id = B.id AND type = 3)
FROM web_car B;


histories = History.objects.filter(car=OuterRef('pk'), type=3)
cars = Car.objects.annotate(count=Subquery(histories.annotate(a=Sum('amount'))))

这不能通过设置output_field来完成...即使我通过Concat从FloatField到Char进行各种应用,我也无法解决它。我发表评论是否可以获得建议。

最佳答案

你似乎把事情复杂化了。您只需要对 Car 进行查询,该查询注释 type=3 的相关历史记录。

Car.objects.filter(history__type=3).annotate(count=Sum('history__amount'))

关于python Django - 将 SQL 查询转换为 ORM 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47882390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com