Set filed name this way name=”sub_service_{{ service.id }}”
In View data will be the name fo the field in the loop, request.POST[data] is the value
for data in request.POST:
if "sub_service_" in data:
sub_service_id = int(data.replace("sub_service_", ""))
CompanySubService.objects.select_for_update().filter(id=sub_service_id).update(delivery_per_hour = request.POST[data])
Example with try and message
if request.POST.get("form_type") == 'update_sub_services_delivery':
try:
for data in request.POST:
if "sub_service_" in data:
sub_service_id = int(data.replace("sub_service_", ""))
CompanySubService.objects.select_for_update().filter(id=sub_service_id).update(delivery_per_hour = request.POST[data])
messages.success(request, "Sub services delivery info has been updated." )
except Exception as e:
print("Exception update_sub_services_delivery ==========================")
messages.error(request, "Error. Something went wrong.")
print(e)
print("End of Exception ==========================")
return render(request, template_name, context)