Функция создания записи работает отлично, но проблема заключается в обновлении. функция обновления может извлечь данные из базы данных, но вы не можете сохранить какие-либо изменения.
вот мой
view.py '' ' создать функцию просмотра
def HunCreateView(request):
BenefitFormset = modelformset_factory(Staff, form=BenefitForm)
form = HonpvForm(request.POST or None)
formset = BenefitFormset(request.POST or None, queryset=Staff.objects.none(), prefix ='marks')
if request.method == 'POST':
if form.is_valid() and formset.is_valid():
try:
with transaction.atomic():
pv = form.save(commit=False)
profileid = request.user.profile.id
pro = Profile.objects.get(id=profileid)
pv.worker = pro
pv.save()
for staff in formset:
data = staff.save(commit=False)
data.Pv_reference = pv
data.save()
except IntegrityError:
print("Error Encountered")
messages.success(request, 'Pv created successfully')
return redirect('pv:userdash')
context ={'form':form, 'formset':formset}
return render(request,'pv/Honurarium.html',context) '''
функция обновления
def HunupdateView(request,pk):
pupdate= Pv.objects.get(IA_System_Code=pk)
supdate = Staff.objects.filter(Pv_reference=pk)
BenefitFormset = modelformset_factory(Staff, form=BenefitForm)
form = HonpvForm(instance=pupdate)
formset = BenefitFormset(queryset=supdate, prefix='marks')
if request.method == 'POST':
if form.is_valid() and formset.is_valid():
try:
with transaction.atomic():
pv = form.save(commit=False)
profileid = request.user.profile.id
pro = Profile.objects.get(id=profileid)
pv.worker = pro
pv.save()
for staff in formset:
data = staff.save(commit=False)
data.Pv_reference = pv
data.save()
except IntegrityError:
print("Error Encountered")
messages.success(request, 'Pv created successfully')
return redirect('pv:userdash')
context ={'form':form, 'formset':formset}
return render(request,'pv/Honurarium.html',context)
и вот мой url.py
path('pv/honurarium/',views.HunCreateView, name = 'pv-honurarium'),
path('pv/<int:pk>/update/honurarium',views.HunupdateView, name ='hunupdate')
Добавление дополнительных и удаление полей набора полей обрабатывается jquery
. Мой вопрос: каждый раз, когда я нажимаю на кнопку «Отправить», для обновления ничего не происходит, форма просто перезагружается со старыми данными в нем.
пожалуйста, я новичок в django, и любая помощь будет вам очень благодарна.