Django -注解计数()不同的值按日期分组



我有以下模型:

class Visualization(models.Model):
....
user: FK user
start_time: DATETIME
product: FK product
....

示例数据:产品ID33

可以这样查询:

from django.db.models import Count
from django.db.models.functions import TruncDate
Visualization.objects.values(
date=TruncDate('start_time')
).annotate(
total=Count('user', distinct=True)
).order_by('date')

对于没有复制的日期,QuerySet中将没有行,因此您需要对这些日期进行后处理。

可以使用extra() QuerySet修饰符按日期分组查询:

from django.db.models import Count
Visualization.objects.extra(
select={'start_date': 'date( start_time )'}
).values(
'start_date'
).annotate(
total=Count('user', distinct=True)
)

相关内容

  • 没有找到相关文章

最新更新