У меня есть две модели, и я пытаюсь вычесть значение одного поля из другого при обновлении формы. Поля находятся в отдельных моделях, у меня есть форма, которая используется для сохранения изменений, внесенных в модель NewLeave, и я хочу иметь возможность вычесть значение Leave_current_balance в модели Leave_Balance с Total_working_days в модели NewLeave и сохранить обновление значения Leave_current_balance,В настоящее время, когда форма обновляется, я хочу вызвать метод CalculateBalance, который выполняет вычисления, но они не работают.
class Leave_Balance(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True, )
Outstanding_balance = models.FloatField(null=True, blank=True, default=None)
Monthly_entitlement = models.FloatField(null=True, blank=True, default=None)
Monthly_consumption = models.FloatField(null=True, blank=True, default=None)
Leave_current_balance = models.FloatField(null=True, blank=True, default=None)
class NewLeave(models.Model):
user = models.ForeignKey(User, default='', on_delete=models.CASCADE)
leave_balance = models.ManyToManyField(Leave_Balance)
Total_working_days = models.FloatField(null=True, blank=False)
def unitDirectorForm(request, staffs_id):
if request.method == 'POST':
getstaffid = NewLeave.objects.get(id=staffs_id)
form = DirectorForm(request.POST, instance=getstaffid)
if form.is_valid():
calculateBalance(getstaffid)
form.save()
return HttpResponse('You have successfully Authorise the leave')
else:
getstaffid = NewLeave.objects.get(id=staffs_id)
form = DirectorForm(instance=getstaffid)
return render(request, 'director_authorize_form.html', {'form': form})
def calculateBalance(staff_id):
update_balance = staff_id
update_balance.leave_balance.Leave_current_balance = update_balance.leave_balance. Leave_current_balance - update_balance.Total_working_days
update_balance.save()