def form_valid(self, form, detalle_conformidad_servicio_formset):
try:
with transaction.atomic():
self.object = form.save()
referencia = self.object.orden_servicios
detalles = []
cont = 1
for detalle_orden_servicios_form in detalle_conformidad_servicio_formset:
orden_servicios = detalle_orden_servicios_form.cleaned_data.get('orden_servicios')
cantidad = detalle_orden_servicios_form.cleaned_data.get('cantidad')
precio = detalle_orden_servicios_form.cleaned_data.get('precio')
valor = detalle_orden_servicios_form.cleaned_data.get('valor')
detalle_orden_servicios = DetalleOrdenServicios.objects.get(pk=orden_servicios)
if cantidad and precio and valor:
detalle_conformidad_servicio = DetalleConformidadServicio(detalle_orden_servicios = detalle_orden_servicios,
nro_detalle = cont,
conformidad = self.object,
cantidad=cantidad)
detalles.append(detalle_conformidad_servicio)
cont = cont + 1
DetalleConformidadServicio.objects.bulk_create(detalles, referencia)
return HttpResponseRedirect(reverse('compras:detalle_conformidad_servicios', args=[self.object.codigo]))
except IntegrityError:
messages.error(self.request, 'Error guardando la cotizacion.')
评论列表
文章目录