我想使用我的User
模型,并使用date_joined
字段将其分解为白天。 Django的aggregation似乎很合适,但我不确定如何将它与DateField对象一起使用。我相信我也希望价值观能够复合。
我的目标是从第一次注册到最现在(并继续),每天获得一个整数。我想我希望以复合形式出现这种情况,例如,如果第一天我有100次注册而第二天是80次,我希望第二天总数为180.这样我就能看到用户群随着时间的推移而增长/下降,而不只是看到注册峰值,然后在没有注册的日子里平缓。
使用Highcharts进行图表设计非常简单。这是我希望实现的图表的实例,仅使用Apple股票数据,但它或多或少是我想要的,只有每日用户注册量。 http://www.highcharts.com/stock/demo/basic-line
我可以使用以下示例构建单个实例的QuerySet。尽管如此,这不是一个非常现实的方法。我想动态计算这些数字,而不是手动分配它们。
y2007m09d01=(user_list.filter(date_joined__year="2007").filter(date_joined__month="9").filter(date_joined__day="1").count())
y2007m09d02=(user_list.filter(date_joined__year="2007").filter(date_joined__month="9").filter(date_joined__day="1").count() + y2007m09d01)
答案 0 :(得分:1)
可能有一些“所有django”解决方案,但如果没有,你可以在用户列表上使用itertools.groupby。我在想这样的事情:
from itertools import groupby
from operator import attrgetter
iter_groups = groupby(User.objects.all(), attrgetter('date_joined'))
groups = [list(g) for _, g in iter_groups]