假设有以下 model:
class Foobar(models.Model):
name = models.CharField(max_length=100)
date_created = models.DateField(auto_now_add=True)
def __unicode__(self):
return self.name
按月统计数量的代码如下:
from django.db import connection
from django.db.models import Count
select = {'month': connection.ops.date_trunc_sql('month', 'date_created')}
Foobar.objects.extra(select=select).values('month').annotate(number=Count('id'))
# [{'number': 10, 'month': datetime.datetime(2013, 9, 1, 0, 0)}]
Comments