3

我正在开发一个开源的Django时间跟踪应用程序,Djime,我试图想出一个更有效的方式来生成统计信息。到目前为止,我们已经有一些相当冗长的程序代码,将得到所有的时间片一段时间,并在一个巨大的嵌套列表/字典吃大锅饭整理它们。QuerySet的高效周统计

我希望做的是建立一个更高效的系统 - 一个对象或函数,将采取时间片的查询集和用户,任务和/或天整理他们。

我们的模型看起来像这样(简化):

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) 

回答

0

听起来像是你想这是在Django 1.1传来的聚合功能。它已经在中继线的最近结账中可用。

一个解释见here

+0

我不知道这将是做到这一点的好方法。据我所知,每个聚合函数将导致对我们已经在QuerySet中有数据的另一个查询。我宁愿拥有比更多数据库请求更多的Python代码,因为比数据库服务器更容易扩展Python前端。 – mikl 2009-06-12 11:30:28