Django查询计数每天独特的新结果

时间:2015-07-27 23:41:18

标签: python django django-models django-queryset django-orm

我将我的应用的统计信息保存在一个类似于

的模型的数据库中
class MyStats():
    event_code = django.db.models.PositiveSmallIntegerField()
    timestamp = django.db.models.DateTimeField()
    timestamp_date = django.db.models.DateField()
    device_id = django.db.models.CharField(max_length=32)

我想使用这些数据来确定每天有多少新的应用安装。

我得到了这个:

MyStats.objects.order_by('-timestamp_date').values('timestamp_date').annotate(count_total=Count('device_id', distinct=True))

但它似乎给我的是每天DAY的唯一身份用户数量,这是不可取的。任何提示?

1 个答案:

答案 0 :(得分:0)

“新”的确意味着“x_timedelta之前发生”:

import datetime

x_timedelta = datetime.timedelta(days=1)

x_timedelta_ago = datetime.datetime.now() - x_timedelta

your_query = MyStats.objects.filter(timestamp_date__gt=x_timedelta_ago)

your_query_distinct = your_query.order_by('-timestamp').annotate(count_total=Count('device_id', distinct=True)).values()