def editarCliente(request, id_cliente): Qform = Cliente.objects.get(pk = id_cliente) Qform_facturacion = Facturacion.objects.get(cliente_id = id_cliente) if request.method == 'POST': # Recibimos el ID del cliente, lo buscamos en la BD, asignamos al Form y actualizamos idPost = request.POST.get('id') Qform = Cliente.objects.get(pk = idPost) formulario = ClienteForm(request.POST, instance = Qform) #Si el formulario es valido, actualizamos el nuevo registro; asignamos campos manualmente a FacturacionForm if formulario.is_valid(): formulario.save() facturacion = Facturacion.objects.get(cliente_id = idPost) form_facturacion = FacturacionForm(request.POST, instance = facturacion) if form_facturacion.is_valid(): form_facturacion.save() return HttpResponseRedirect('/clientes/editar/%d' % int(idPost)) else: formulario = ClienteForm(instance = Qform) form_facturacion = FacturacionForm(instance = Qform_facturacion) return render_to_response('nuevo-cliente.html', {'formulario': formulario, 'form_facturacion': form_facturacion, 'cliente': id_cliente}, context_instance=RequestContext(request))
def nuevoCliente(request): if request.method == 'POST': # Creamos un objeto para colocar campos manualmente, despues se lo asignamos al formulario que recibimos cliente = Cliente(usuario_id = request.user.id, estatus = 1, tipo_venta = 0) formulario = ClienteForm(request.POST, instance = cliente) #Si el formulario es valido, guardamos el nuevo registro; asignamos campos manualmente a FacturacionForm if formulario.is_valid(): id_cliente = formulario.save() facturacion = Facturacion(cliente_id = id_cliente.id) facturacion.save() return HttpResponseRedirect('/clientes') else: formulario = ClienteForm() form_facturacion = FacturacionForm() return render_to_response('nuevo-cliente.html', {'formulario': formulario}, context_instance=RequestContext(request))