Django комментирует группировки по месяцам

У меня есть очень простая модель:

class Link(models.Model):
    title = models.CharField(max_length=250, null=False)
    user = models.ForeignKey(User)
    url = models.CharField(max_length=250, blank=True, null=True)
    link_count = models.IntegerField(default=0)
    pub_date = models.DateField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

Я могу создать список всех записей, сгруппированных по дате, используя:

Link.objects.values('pub_date').order_by('-pub_date').annotate(dcount=Count('pub_date'))

Это естественно группирует предметы по дням. Но то, что я действительно хочу сделать, это группировать по месяцам. В любом случае я могу сделать это с помощью annotate ()?

Большое спасибо,

G

16
задан givp 22 August 2010 в 21:01
поделиться

1 ответ

Если вы используете PostgreSQL, может работать следующее:

from django.db.models import Count

Link.objects.extra(select={'month': 'extract( month from pub_date )'}).values('month').annotate(dcount=Count('pub_date'))

Я не уверен, насколько переносим extract в другие базы данных.

15
ответ дан 30 November 2019 в 17:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: