Django模型中的增量总计

Incremental totals in Django Model

我有一个 table 如下: Example Table

我有一个模型

class Hours(models.Model):
      name = model.Charfield(max_length =200)
      hours = DecimalField(max_digits = 6, decimal_places=2)

     def total_hours(self):
        queryset = Hours.objects.aggregate(total_hours=models.Sum('hours'))
        return queryset['total_hours']

现在,当我 运行 代码时,我得到的所有记录都有 37 个,而不是 运行ning 总数。

我哪里漏了一步?

每当您调用 total_hours 时,它都会获取所有 Hours 对象的小时数总和。你需要这样的东西:

Hours.objects.filter(id__lte=self.id).aggregate(total_hours=models.Sum('hours')) 

总计 运行