Обновление поля модели путем добавления старого значения к новому Django

Я пытаюсь отслеживать общее количество часов, вводимых в заказ на работу. Я хотел бы добавить новое вводимое число к числу, существующему в БД, и вернуть общую сумму.

Заранее благодарю за любую помощь.

The Model:
class WorkOrder(models.Model):
    client = models.ForeignKey(Contact, on_delete=models.CASCADE)
    hours_worked = models.IntegerField()

The View:
class UpdateWorkOrder(LoginRequiredMixin, generic.UpdateView):
    model = WorkOrder
    template_name = 'client/update_workorder.html'
    success_url = reverse_lazy('dashboard')

Вы можете добавить этот метод в представление:

    def get_form_class(self):
        work_order = WorkOrder.objects.all().order_by('-id')[0] # Get the previous latest object here
        new_hours = work_order.hours_worked + self.object.hours_worked
        self.object.hours_worked = new_hours

ИЛИ

Вы можете добавить тот же код в метод pre save к модели.

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