Как изменить значение queryset полученного из формы Django?
Есть две модели, вид работ(мойка, полироль и т.д.) и сама услуга с полями цены, связанной услуги и суммы работнику. Как сделать так, чтоб после выбора услуги и ввода цены считывался процент(из модели TypeOfWork), считалась сумма на руки в соответствии суммы и процента за услугу и записывалась в соответствующее поле queryset полученного их формы?
models.py
class TypeOfWork(models.Model):
"""Вид работ(стрижка, окрашивание и т.д.)"""
title = models.CharField(max_length=50, verbose_name="Название работ")
fix_percent = models.IntegerField(null=True, verbose_name="Процент от услуги")
def __str__(self):
return self.title
class Meta:
verbose_name = "Услуга"
verbose_name_plural = "Услуги"
class AddService(models.Model):
price = models.IntegerField()
sum_for_worker = models.IntegerField()
service = models.ForeignKey(TypeOfWork, on_delete=models.CASCADE)
class Meta:
verbose_name = "Оказаная услуга"
verbose_name_plural = "Оказанные услуги"
forms.py
class TypeOfWorkForm(ModelForm):
class Meta:
model = TypeOfWork
fields = '__all__'
class AddServiceForm(forms.Form):
price = models.IntegerField()
sum_for_worker = models.IntegerField()
service = models.ForeignKey(TypeOfWork, on_delete=models.CASCADE)
views.py
def add_service(request):
"""Добавление новой услуги"""
form = AddServiceForm(request.POST)
"""if form.is_valid():
obj = form.save(commit=False)
obj.sum_for_worker = TypeOfWork.objects.percent
obj.save()"""
return render(request, "html/home_page.html", {"form": form})
def index(request):
""""""
form = TypeOfWorkForm(request.POST)
if form.is_valid():
form.save()
return render(request, "html/add_new_work.html", {"form": form})