Foros del Web » Programando para Internet » Python »

Llenar dos Field al buscar ID Con Raw_id_fields

Estas en el tema de Llenar dos Field al buscar ID Con Raw_id_fields en el foro de Python en Foros del Web. Buenas planteo mi situacion, Estoy aprendiendo un poco de Django 1.7 + python 3.4 y con el admin he creado un pequeño sistema administrativo en ...
  #1 (permalink)  
Antiguo 20/02/2015, 06:16
 
Fecha de Ingreso: febrero-2015
Ubicación: Venezuela
Mensajes: 3
Antigüedad: 5 años, 8 meses
Puntos: 0
Llenar dos Field al buscar ID Con Raw_id_fields

Buenas planteo mi situacion,

Estoy aprendiendo un poco de Django 1.7 + python 3.4 y con el admin he creado un pequeño sistema administrativo en el manejo:

Clientes
Proveedores
Productos
Marcas
Categorias
Facturas (Master-Detail)
La tabla de facturas es asi:

Código Python:
Ver original
  1. class Factura(models.Model):
  2.     Cliente = fields.ForeignKey(Cliente)
  3. ....
  4. ....

Código Python:
Ver original
  1. class FacturaDetalle(models.Model):
  2.     FacturaID = fields.ForeignKey(Factura)
  3.     Producto = fields.ForeignKey(Producto)
  4.     Cantidad = fields.IntegerKey()
  5.     Precio = fields.FloatFields()


El detalle lo manejo como un TabularInLine en el Admin.py, y los productos los busco con un raw_id_field asi:

Código Python:
Ver original
  1. class DetalleInLine(admin.TabularInLine):
  2.     raw_id_fields = ('Producto',)
  3.     extra = 1


Funciona de maravilla, que quiero?, pues estoy tratando que al setear el codigo en el field Producto del inline automaticamente me traiga, el precio del producto de la base de datos al campo Precio del mismo modelo en el InLine. En pocas palabras consultar el precio desde el model "Producto", y ponerlo en el "Factura Detalle".

He buscado por todas partes y no he encontrado nada:

Aca se ha hecho la misma pregunta y despues de un año no hay respuesta tampoco, no es posible? no se debe hacer de esa forma?

De antemano, soy novato en la programacion Web, se que por medio de Javascript deberia poder hacerse pero estoy muy verde aun.

Gracias por las respuestas de antemano y disculpen.

Última edición por razpeitia; 20/02/2015 a las 09:46
  #2 (permalink)  
Antiguo 20/02/2015, 11:07
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 15 años, 7 meses
Puntos: 1360
Respuesta: Llenar dos Field al buscar ID Con Raw_id_fields

La verdad es que no entiendo tu pregunta. Pero voy a suponer varias cosas:

1. Que la relación factura<->detalle factura es uno a uno. (En cuyo caso no entiendo porque no mejor no añades esos campos a factura).

2. Lo que tu quieres es que en el listado del modelo te aparezca el precio en "Factura" no? (asumiendo que es uno a uno), si lo pones en Producto puedes tener muchas facturas asociadas y posiblemente diferente precios y ahí cual muestras?

Mira el django admin es una excelente herramienta para el administrador del sistema. Pero no para el usuario final.
  #3 (permalink)  
Antiguo 20/02/2015, 11:17
 
Fecha de Ingreso: febrero-2015
Ubicación: Venezuela
Mensajes: 3
Antigüedad: 5 años, 8 meses
Puntos: 0
Respuesta: Llenar dos Field al buscar ID Con Raw_id_fields

Primero gracias por tu respuesta, trato de explicarme mejor:

Tengo mis dos tablas son Factura / Detalle, la relacion es UnoAmuchos una factura puede tener varios detalles, en donde van los productos que consumio el cliente en esa factura cada uno con el precio unitario de cada producto.

Esto lo manejo creando un TabularInLine de la tabla detalles, en la cual agrego los detalles, hasta aca todo bien.

Cual es mi problema? necesito que al agregar un Detalle por su campo ID este añada automaticamente el precio en el mismo TabularInLine.

Aca dejo un screenshot



Como puedes ver lleno el campo del producto, y necesito que traiga desde la base de datos el PRECIO del PRODUCTO que seleccione en el primer field.

Última edición por revxfire; 20/02/2015 a las 11:30

Etiquetas: django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:42.