¿Как добавить несколько форм, унаследованных от другой формы, с помощью Django?

У меня вопрос, что происходит, когда я нажимаю на знак плюс (+), поля повторяются, чтобы поместить больше данных. Я провел некоторое исследование и увидел, что я могу использовать набор форм, у меня только проблема с размещением кода для представлений. Поскольку я наследую от Parte/forms.py к Presupuestos/forms.py и я не знаю, в Parte/views.py или Presupuestos/views.py делать модификацию для набора форм или как адаптировать его к тому, что у меня уже есть в моих представлениях

Parte/model.py

class Parte(models.Model):

   codigo=models.IntegerField()
   quantity=models.IntegerField()
   unit_price=models.IntegerField()
   total_price=models.IntegerField()
   tax_free=models.BooleanField()
   descripcion=models.TextField(max_length=255,blank=True, null=True)
   descuento=models.IntegerField(default=0)
   total=models.IntegerField()
  

   def __str__(self):
       return f'{self.codigo}: {self.descripcion} {self.quantity} {self.unit_price} {self.total_price} {self.tax_free}{self.descuento}{self.total}'

Parte/forms.py

from django import forms
from django.forms import formset_factory
from .models import Parte


class ParteForm(forms.ModelForm):
   class Meta:
       model=Parte
       fields=['codigo','descripcion','quantity','unit_price','total_price','tax_free']


ParteFormset = formset_factory(ParteForm, extra=0)

Presupuestos/forms.py

class PresupuestosParteForm(forms.ModelForm):
   class Meta:
       model = Parte
       fields = '__all__'
       widgets = {
           'codigo': forms.TextInput(
               attrs={
                   'class': 'form-control'
               }
           ),
           'quantity': forms.NumberInput(
               attrs={
                   'class': 'form-control',
               }
           ),
           'unit_price': forms.NumberInput(
               attrs={
                   'class': 'form-control',
                   'onchange': 'multiplicar()',
               }
           ),
           'total_price': forms.NumberInput(
               attrs={
                   'class': 'form-control',

               }
           ),
           'tax_free': forms.CheckboxInput(
               attrs={
                   'class': 'form-check-input',
                   'onclick': 'taxes_free(multiplicar())',
               }
           ),
           'descripcion': forms.TextInput(
               attrs={
                   'class': 'form-control'
               }
           ),
           'descuento': forms.NumberInput(
               attrs={
                   'class': 'form-control',
                   'onchange': 'totales()',

               }
           ),
           'total': forms.NumberInput(
               attrs={
                   'class': 'form-control',
               }
           ),

       }


Presupuestos/views.py

def create_Presupuestos(request):

    presupuestosparteform=PresupuestosParteForm(request.POST or None)


    if presupuestosclientesform.is_valid():
        presupuestosclientesform.save()
        return redirect('presupuestos:index')
    return render(request,'Presupuestos/presupuestos-forms.html',{ 'presupuestosparteform':presupuestosparteform})

Parte/views.py

def create_Parte(request):
    form=ParteForm(request.POST or None)
    if form.is_valid():
        form.save()
        return redirect('parte:index')
    return render(request,'Parte/parte-form.html',{'form':form})

Я выделил красным то, что я хочу изменить в своем шаблоне

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