我有一些如下所示的 MySQL 代码:
SELECT
visitor AS team,
COUNT(*) AS rg,
SUM(vscore>hscore) AS rw,
SUM(vscore<hscore) AS rl
FROM `gamelog` WHERE status='Final'
AND date(start_et) BETWEEN %s AND %s GROUP BY visitor
我正在尝试将其转换为该查询的 Django 版本,而不进行多次查询。这可能吗?我阅读了如何做Sum()
和Count()
,但是当我想像我正在做的那样比较两个字段时,它似乎不起作用。
这是迄今为止我能想到的最好的,但它没有用......
vrecord = GameLog.objects.filter(start_et__range=[start,end],visitor=i['id']
).aggregate(
Sum('vscore'>'hscore'),
Count('vscore'>'hscore'))
我也尝试'vscore>hscore'
在那里使用,但这也不起作用。有任何想法吗?我需要使用尽可能少的查询。