如何解决Django按月注释分组
如果您使用的是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
跨其他数据库的可移植性。
解决方法
我有一个非常基本的模型:
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'))
这自然会按天对项目进行分组。但是我真正想做的是按月分组。无论如何,我可以使用anateate()做到这一点吗?
非常感谢,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。