Обновление поля модели путем добавления старого значения к новому 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
к модели.