我想对数据库中的行和按日期分组。
我正在尝试使用django聚合和注释运行此SQL查询:

select strftime('%m/%d/%Y', time_stamp) as the_date, sum(numbers_data)
    from my_model
    group by the_date;

我尝试了以下方法:
data = My_Model.objects.values("strftime('%m/%d/%Y',
           time_stamp)").annotate(Sum("numbers_data")).order_by()

但似乎只能在values()函数中使用列名;它不喜欢使用strftime()。
我该怎么办?

最佳答案

这对我很有用:

select_data = {"d": """strftime('%%m/%%d/%%Y', time_stamp)"""}

data = My_Model.objects.extra(select=select_data).values('d').annotate(Sum("numbers_data")).order_by()

我花了点时间才明白我必须避开那些%的标志。

关于python - Django GROUP BY strftime日期格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/722325/

10-12 23:05