说我有这样的模特:
class Arrival(models.Model):
client = models.ForeignKey(User, related_name='client')
time = models.DateTimeField()
现在,我想在每个日期绘制一个包含唯一客户访问次数的图表。
我目前的做法是使用:
Arrival.objects.values('client','time')
然后将所有日期时间字段转换为日期字段。使用python库获取唯一日期列表,然后遍历客户端以查找每个日期访问的客户端数量。
有人有更有效的方法吗?
答案 0 :(得分:1)
在此处重新提交答案:
Get daily counts of objects from Django
(Arrival.objects
# get specific dates (not hours for example) and store in "created"
.extra({'created':"date(time)"})
# get a values list of only "created" defined earlier
.values('created')
# annotate each day by Count of Arrival objects
.annotate(created_count=Count('id')))