Django 1.10及更高版本
Django文档列表
extra作为近期内取消。(感谢指出@seddonym @ Lucas03)。我打开了一张票,这就是jarshwah提供的解决方案。
from django.db.models.functions import TruncMonthfrom django.db.models import CountSales.objects .annotate(month=TruncMonth('timestamp')) # Truncate to month and add to select list .values('month') # Group By month .annotate(c=Count('id')) # Select the count of the grouping .values('month', 'c') # (might be redundant, haven't tested) select month and count
旧版本
from django.db import connectionfrom django.db.models import Sum, Counttruncate_date = connection.ops.date_trunc_sql('month', 'created')qs = Order.objects.extra({'month':truncate_date})report = qs.values('month').annotate(Sum('total'), Count('pk')).order_by('month')
编辑
- 增加数量
- 添加了Django> = 1.10的信息
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)