Проблемы с изменением префикса набора форм в 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})