Проблемы с изменением префикса набора форм в django

У меня вопрос, дело в том, что у меня есть formset и empty_form (в том же HTML); я должен сделать некоторые вычисления, для empty_form я уже смог извлечь ID и сделать операции, но не для formset, и это то, что моя основная проблема в том, что у них разные ID, например для formset это выглядит так:

id_form-0-quantity

а для пустой_формы это:

id__form-1-quantity (one more underscore)

но с этим другим ID я должен сделать некоторые изменения в JS, что я не хочу делать, потому что я очень новичок в JS и, возможно, испорчу код еще больше. Есть ли способ изменить префикс набора форм так: id__form-0-quantity?;

Я использовал следующую строку:

formset = ParteFormSet(request.POST, request.FILES, prefix='__form')

Но абсолютно ничего не происходит

просмотров

def create_Presupuestos(request):
   extra_forms = 1
   ParteFormSet = formset_factory(PresupuestosParteForm, extra=extra_forms, max_num=20)
   presupuestosclientesform=PresupuestosClientesForm(request.POST or None)
   presupuestosvehiculosform=PresupuestosVehiculosForm(request.POST or None)
   presupuestosparteform=PresupuestosParteForm(request.POST or None)
   presupuestosmanoobraform=PresupuestosManoObraForm(request.POST or None)
   presupuestospagosform=PresupuestosPagosForm(request.POST or None)
   if request.method == 'POST':
       formset = ParteFormSet(request.POST, request.FILES, prefix='__form')
       if formset.is_valid():
           presupuestosclientesform.save()
           return redirect('presupuestos:index')
   else:
       formset = ParteFormSet()
   return render(request,'Presupuestos/new-customer.html',{'presupuestosclientesform':presupuestosclientesform,'presupuestosvehiculosform':presupuestosvehiculosform,'presupuestosparteform':presupuestosparteform,'presupuestosmanoobraform':presupuestosmanoobraform,'presupuestospagosform':presupuestospagosform,'formset':formset})

HTML

Вы также должны включить префикс в случае GET-запроса, иначе при первой загрузке страницы эта форма не будет префиксной:

def create_Presupuestos(request):
   extra_forms = 1
   ParteFormSet = formset_factory(PresupuestosParteForm, extra=extra_forms, max_num=20)
   presupuestosclientesform=PresupuestosClientesForm(request.POST or None)
   presupuestosvehiculosform=PresupuestosVehiculosForm(request.POST or None)
   presupuestosparteform=PresupuestosParteForm(request.POST or None)
   presupuestosmanoobraform=PresupuestosManoObraForm(request.POST or None)
   presupuestospagosform=PresupuestosPagosForm(request.POST or None)
   if request.method == 'POST':
       formset = ParteFormSet(request.POST, request.FILES, prefix='__form')
       if formset.is_valid():
           presupuestosclientesform.save()
           return redirect('presupuestos:index')
   else:
       # prefix in case of a GET 🖟
       formset = ParteFormSet(prefix='__form')
   return render(request,'Presupuestos/new-customer.html',{'presupuestosclientesform':presupuestosclientesform,'presupuestosvehiculosform':presupuestosvehiculosform,'presupuestosparteform':presupuestosparteform,'presupuestosmanoobraform':presupuestosmanoobraform,'presupuestospagosform':presupuestospagosform,'formset':formset})
Вернуться на верх