【发布时间】:2021-12-26 10:24:34
【问题描述】:
我有一张如下表: 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,而不是它们的运行总数。
我在哪里漏掉了一步?
【问题讨论】:
-
每当您调用 total_hours 时,它都会获取所有 Hours 对象的小时总和。你需要像 Hours.objects.filter(id__lte=self.id).aggregate(total_hours=models.Sum('hours')) 这样的东西来计算总和
-
嗨@Henty 非常感谢你,请将其作为答案,以便我接受它作为解决方案。它完全符合我的需要
-
完成,谢谢 :)
标签: django django-models django-templates