我每天都会获取一些用户统计数据并将它们记录在一个模型中,如下所示(为简单起见,去掉了不相关的部分):
class User(models.Model):
group = models.CharField(
choices=(('A', 'Group A'), ('B', 'Group B'),
))
class Stats(models.Model):
day = models.DateField()
user = models.ForeignKey(User)
follower_count = models.PositiveIntegerField()
如上所示,每个用户都属于一个组。
如何获得每个用户在某个日期范围内follower_count
每个组的总和?
换句话说,使用这些模型构建如下数据结构的最佳方法是什么?是否可以使用单个聚合查询来完成?
[{
'date': '2015-07-15',
'Group A': 26, # sum of followers of users in Group A on 2015-07-15
'Group B': 15,
}, {
'date': '2015-07-16',
'Group A': 30,
'Group B': 18,
}, {
'date': '2015-07-17',
'Group A': 32,
'Group B': 25,
}]
谢谢你。