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'))
总计 运行
我有一个 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'))
总计 运行