Инкрементные итоги в Django Model

У меня есть таблица следующего вида: Пример таблицы

и у меня есть модель как

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')) 

для текущего итога

Вернуться на верх