按组划分的Django计数
我需要创建一个报告,在其中我可以得到一年中每个月的值 models.py按组划分的Django计数,django,Django,我需要创建一个报告,在其中我可以得到一年中每个月的值 models.py class Ask(models.Model): team = models.CharField(max_length=255) date = models.DateField() 团队中只有三个可能的值:A、B、C 我如何计算每个团队一个月增加多少次 我想为每年生成一份报告。我建议您在模型中添加月字段,并在保存时传递该字段。这有助于您运行以下程序: from django.db.models i
class Ask(models.Model):
team = models.CharField(max_length=255)
date = models.DateField()
团队中只有三个可能的值:A、B、C
我如何计算每个团队一个月增加多少次
我想为每年生成一份报告。我建议您在模型中添加
月
字段,并在保存时传递该字段。这有助于您运行以下程序:
from django.db.models import Count
Ask.objects.filter(date__year='2013').values('month', 'team').annotate(total=Count('team'))
另一种方法是使用参数并从日期字段中提取月份:
from django.db.models import Count
Ask.objects.filter(date__year='2013').extra(select={'month': "EXTRACT(month FROM date)"}).values('month', 'team').annotate(Count('team'))
但该方法依赖于数据库,例如,对于提取
,在SQLite中不起作用<代码>STRFTIME(date,“%m”)
可以正常工作,但仅限于如何添加到模板以使其看起来像这样:2013-01团队A=2,2013-02团队A=1,2013-03团队A=7。。。现在我有了{'team__count':5,'team':u'A',month':3.0}来访问模板中的dict值,读这个:或者在简单列表中准备数据,然后在模板中迭代它