[英]Django: Count by day, with 0 for days with no records
我想获取14天以上的记录数
我目前正在做:
class Invitation(models.Model):
...
start_date = models.DateTimeField(default=timezone.now)
all_invitations = Invitation.objects.all()
days14 = all_invitations.filter(start_date__range=[today - timedelta(days=7), today + timedelta(days=8)]).annotate(day=TruncDay('start_date')).values('day').annotate(count=Count('id')).values('day', 'count').order_by('day')
但是,这并没有给我提供0个邀请的日子。 我该如何实现?
但是,这并没有给我提供0个邀请的日子。
您已经在计算计数的day
进行了分组
....values('day').annotate(count=Count('id'))
因此,这些天只会是表格中显示的那几天,因此不包括邀请数为0的日子。
我不确定这是否可以通过查询完全实现,因为表中没有所需的日期。 但是,您可以执行以下操作:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.