Cannot assign "u'HURTADO PORTILLO IVAN MANUEL'": "ProductoFabricar.nombre_vendedor" must be a "Empleado" instance.
Esto sale al momento de querer guardar los campos que se llenan con autocomplete y que son foreign key a otros modelos.
Pero no tengo idea de como hacerlo una instancia. Si alguien pudiera decirme como. Anexo mi codigo.
VIEW
Código Python:
Ver original
@render_to("ventas/producto_fabricar.html") def producto_fabricar(request): almacen = get_object_or_404(Almacen) queryset = ProductoFabricarPapel.objects.none() if request.method == "POST": form = ProductoFabricarForm(request.POST) formset = ProductoFabricarPapelFS(request.POST, queryset=queryset) if form.is_valid(): nombre_vendedor = form.cleaned_data["nombre_vendedor"] nombre_coordinador = form.cleaned_data["nombre_coordinador"] form.save() if formset.is_valid(): for f in formset.forms: f.instance.producto_fabricar = form.instance formset.save() return clean_redirect('reporte_producto_fabricar', success="Se ha guardado correctamente la Orden de Producción") else: form = ProductoFabricarForm() formset = ProductoFabricarPapelFS(queryset=queryset) return { "title":"Agregar Orden de Producción", "form":form, "formset":formset }
MODEL
Código Python:
Ver original
class ProductoFabricar(models.Model): TIPOS = ( ("D/CARTA", 'D/CARTA'), ("4/CARTAS", '4/CARTAS'), ("OTRO", 'OTRO'), ) fecha_orden_produccion = models.DateField(auto_now_add=True) cotizacion = models.ForeignKey(Movimiento, on_delete=models.PROTECT) nombre_producto_fabricar = models.CharField(max_length=350, default='') fecha_entrega_acordada = models.DateField(null=True, blank=True) fecha_entrega_confirmada = models.DateField(null=True, blank=True) criterios_aceptacion = models.CharField(max_length=350, default='') cantidad = models.CharField(max_length=255,null=True) medida_final = models.CharField(max_length=255,null=True) pag_totales = models.CharField(max_length=255,null=True) impresion = models.CharField(max_length=255,null=True) acabado_1 = models.CharField(max_length=255,null=True) acabado_2 = models.CharField(max_length=255,null=True) acabado_final = models.CharField(max_length=255,null=True) observaciones = models.TextField(blank=True) planilla1_frentes = models.IntegerField(null=True) planilla2_frentes = models.IntegerField(null=True) planilla_vueltas = models.IntegerField(null=True) planilla_en = models.CharField(choices=TIPOS, blank=False, default='', max_length=10) planilla_en1 = models.CharField(choices=TIPOS, blank=False, default='', max_length=10) nombre_vendedor = models.ForeignKey(Empleado, on_delete=models.PROTECT, related_name="vendedor") nombre_coordinador = models.ForeignKey(Empleado, on_delete=models.PROTECT, related_name="coordinador") op = models.PositiveIntegerField(blank=True, null=True)
AUTOCOMPLETE
Código Javascript:
Ver original
$().ready(function(){ $("#id_nombre_vendedor").autocomplete({ source:"/ajax/contains/empleado/", minLength:minLength_ac }); });