Django 查询集的有效周统计信息

Django 查询集的有效周统计信息,django,database-design,django-models,statistics,django-queryset,Django,Database Design,Django Models,Statistics,Django Queryset,我正在开发一个开源的Django时间跟踪应用程序,我正试图找到一种更有效的方法来生成统计数据。到目前为止,我们已经有了一些相当冗长的过程代码,这些代码将获取一段时间内的所有时间片,并将它们整理在一个庞大的嵌套列表/字典中 我想做的是建立一个更高效的系统——一个对象或函数,它将查询一组时间片,并按用户、任务和/或日期对它们进行整理 我们的模型如下所示(简化): 听起来您需要Django 1.1中提供的聚合功能。在最近从trunk退房时,它已经可用了 请参阅以获取解释。我不确定这是否是一个很好的方法

我正在开发一个开源的Django时间跟踪应用程序,我正试图找到一种更有效的方法来生成统计数据。到目前为止,我们已经有了一些相当冗长的过程代码,这些代码将获取一段时间内的所有时间片,并将它们整理在一个庞大的嵌套列表/字典中

我想做的是建立一个更高效的系统——一个对象或函数,它将查询一组时间片,并按用户、任务和/或日期对它们进行整理

我们的模型如下所示(简化):


听起来您需要Django 1.1中提供的聚合功能。在最近从trunk退房时,它已经可用了


请参阅以获取解释。

我不确定这是否是一个很好的方法。据我所知,每个聚合函数都会对QuerySet中已有的数据进行另一次查询。我更希望有更多的Python代码,而不是更多的数据库请求,因为它比数据库服务器更容易扩展Python前端。
class TimeSlice(models.Model):
    task = models.ForeignKey(Task)
    user = models.ForeignKey(User)
    begin = models.DateTimeField(default=datetime.datetime.now)
    duration = models.PositiveIntegerField(null=True, blank=True) # Num. of seconds
    note = models.TextField(null=True, blank=True)