У меня есть модель займа, которая содержит сумму займа.
И у меня есть модель транша, которая содержит сумму.
Вот псевдокод для этих двух моделей:
class Loan(models.Model):
loan_amount = PositiveIntegerField()
class Tranche(models.Model):
tranche_amount = PositiveIntegerField()
Я создаю стандартную ModelForm для каждого из них:
class LoanForm(forms.ModelForm):
class Meta:
model = Loan
fields=['loan_amount']
class TrancheForm(forms.ModelForm):
class Meta:
model = Tranche
fields = ['tranche_amount']
Я определяю две формы следующим образом:
def someview(request):
loan_form = LoanForm(request.POST or None)
tranche_form = TrancheFrom(request.POST or None)
if loan_form.is_valid() and tranche_form.is_valid():
loan_form.save()
tranche_form.save()
#then render somme success_url
#else render the template and give it the forms
Я хочу иметь возможность получить чистую сумму кредита и передать ее в мою функцию очистки TrancheForm.
Я хочу убедиться, что сумма 2 одинакова.
В моем настоящем примере Tranche является встроенным набором форм, поэтому я хочу избежать этого на уровне представления, например:
if loan_form.loan_amount == tranche_form.loan_amount:
loan_form.save()
tranche_form.save()
else:
#return some error message
И я бы предпочел способ получить доступ к сумме кредита непосредственно внутри чистого метода.