Django ORM从日期时间检索月份名称

时间:2018-07-14 05:29:08

标签: sql django django-queryset django-orm

我需要检索具有相应月份总价的月份名称。 这是我的订单表示例

Database Sample

我的尝试是:

month_wise_sales = Order.objects\
.annotate(month=ExtractMonth('created_at'))\
.values('month')\
.annotate(total_sales=Sum('total_price'))

它将返回

<QuerySet [{'month': 7, 'total_sales': Decimal('138400.00')}, {'month': 9, 'total_sales': Decimal('1150.00')}]>

我的愿望就是这样

[{'month': July, 'total_sales': Decimal('138400.00')}, {'month': September, 'total_sales': Decimal('1150.00')}]

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这对我来说很好。 工作查询

month_wise_sales = Order.objects\
.annotate(month=Cast('created_at', DateField()))\
.values('month')\
.annotate(total_sales=Sum('total_price'))

然后在模板中使用此

{{ monthly_sales.month | date:"M"}}

这样,我将获得总价的总和与月份名称。