我正在开发一个开源Django时间跟踪应用程序Djime,我正在尝试提出一种更有效的方法来生成统计信息。到目前为止,我们已经有了一些相当冗长的程序代码,可以在一段时间内获取所有TimeSlices,并将它们整理在一个巨大的嵌套列表/字典中。
我想要做的是建立一个更有效的系统 - 一个对象或函数,它将采用TimeSlices的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)