【发布时间】:2018-01-31 12:16:03
【问题描述】:
我在 SQLite 中有一个查询,它按 weeks 对字段进行分组,并在 distance 上执行 sum 和 average和 time 字段在同一个表中:
select
strftime('%W', datetime) WeekNumber,
sum(distance) as TotalDistance,
sum(distance)/sum(time) as AverageSpeed
from sample_login_run
group by WeekNumber;
我正在尝试将此查询转换为 Django ORM 并避免使用 Raw 函数。我知道我需要在 Django ORM 中使用extra。不过,这应该不是问题。我想出了这个:
Run.objects.extra(select={'week': "strftime('%%W', datetime)"}).values(
'week','distance').annotate(
total_distance=Sum('distance'), average_time=F('distance') / F('time'))
但这也是按average_time 和average_distance 字段对数据进行分组。任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: mysql django sqlite orm django-orm