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