4
我需要创建一个报表,我可以获取一年中每个月的值。Django按组计算
models.py
class Ask(models.Model):
team = models.CharField(max_length=255)
date = models.DateField()
在球队只有三个可能的值:A,B,C
如何计算每个月多少次加个人的团队?
我想为每年生成一份报告。
我需要创建一个报表,我可以获取一年中每个月的值。Django按组计算
models.py
class Ask(models.Model):
team = models.CharField(max_length=255)
date = models.DateField()
在球队只有三个可能的值:A,B,C
如何计算每个月多少次加个人的团队?
我想为每年生成一份报告。
我建议您将month
字段添加到您的模型并在save
月通过那里。这是帮助你运行这个命令:
from django.db.models import Count
Ask.objects.filter(date__year='2013').values('month', 'team').annotate(total=Count('team'))
另一种方法是使用从日期字段extra参数和提取一个月:
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'))
但EXTRACT方法取决于数据库和例如dont`t工作对于EXTRACT,SQLite
+1。 [在SQLite中你必须使用](http://www.sqlite.org/lang_datefunc.html)'STRFTIME(date,“%m”)' – 2013-04-05 08:42:05
工作正常,但只有如何添加到模板才能使它看起来像这样:2013-01球队A = 2,2013-02球队A = 1,2013-03球队A = 7 ...现在我有{'team__count':5,'team':u'A', 'month':3.0} – MalT 2013-04-05 09:11:30
访问模板中的dict值阅读此:http://stackoverflow.com/questions/8000022/django-template-how-to-lookup-a-dictionary-value-with-a-variable – 2013-04-05 09:23:56