pythonDjango将SQL查询转换为ORM查询(子查询)

2024-09-25 18:24:40 发布

您现在位置:Python中文网/ 问答频道 /正文

SELECT *,
        (SELECT sum(amount) FROM history
         WHERE history_id IN
                        (SELECT history_id FROM web_cargroup
                         WHERE group_id = a.group_id) AND type = 1)
        as sum
          FROM web_car a;

很难将上述查询转换为orm 1orm注释由group by自动创建。 2很难将子查询置于“in”状态

请帮忙。在


Tags: andinfromwebidastypegroup
1条回答
网友
1楼 · 发布于 2024-09-25 18:24:40

如果我理解你介绍的模型,这应该行得通

from django.db.models import Sum

History.objects.filter(
    type=1,
    id__in=(CarGroup.objects.values('history_id'))
).aggregate(
    total_amount=Sum('amount')
)

相关问题 更多 >