combos dependientes en Admin

608 views
Skip to first unread message

cesar

unread,
Feb 18, 2011, 5:07:29 PM2/18/11
to Django-es
Hola gente. Les comento, tengo unas clase que tiene 2 campos
dependientes..o sea los valores que debe mostrar de un campo son
dependientes del valor seleccionado en el otro. Sería como el ejemplo
clásico de Provincia y Localidad...pero dentro del Admin. De los
ejemplos que he visto, ninguno muestra como hacerlo dentro del
administrador...si es que se puede.
Alguien sabe si esto se puede hacer y como?? o alguna idea..
Saludos

zodman

unread,
Feb 18, 2011, 7:37:10 PM2/18/11
to djan...@googlegroups.com
con ajax ... en el admin

2011/2/18 cesar <cesarluis...@gmail.com>:

> --
> Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
>  Si quieres publicar en este grupo, envía un mensaje de correo
> electrónico a djan...@googlegroups.com
>  Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
>  Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.

--
Andres Vargas
www.zodman.com.mx

zodman

unread,
Feb 18, 2011, 7:40:47 PM2/18/11
to djan...@googlegroups.com
osea .........

Seleccionando un select tiene que llenar el otro select.


Una forma es hacerlo por Ajax.

OnChange select1

consulte una vista que traiga los datos por ajax y lleno el select 2

acuerdate que es

<option value="object.id"> object.__unicode__() </option>

Para llenarlo ...

2011/2/18 zodman <zod...@gmail.com>:

--
Andres Vargas
www.zodman.com.mx

Ramiro Morales

unread,
Feb 18, 2011, 8:34:19 PM2/18/11
to djan...@googlegroups.com
2011/2/18 cesar <cesarluis...@gmail.com>:

Nativamente no viende de fábrica listo para usar, puedes cear una solución
propia como te sugiere zodman o probar jugar con django-smart-selects:

https://github.com/digi604/django-smart-selects/

que tiene el campo de modelo ChainedForeignKey, su respectivo campo de
formulario
ChainedModelChoiceField y su respectivo widget HTML ChainedSelect que
en conjunto
ayudan con este problema típico (debe ser una de las consultas mas frecuentes
en django-es). El ejemplo en el README es justamente del tipo
Continente-Pais-Área.

django-smart-selects Usa jQuery para el frontend (y puede usar la
versión que viene
incluida con Django o una que le indiques).

Dos cosas a tener en cuenta:

* Te obliga a usar un campo FK propio (ChainedForeignKey) en remplazo
de la ForeignKey
clásica de Django (en realidad es un wrapper delgadito de manera que
si ves el código fuente
te quita el miedo de usarlo), asi que no es compatible con
programadores ultra-puristas.

* No se que tal se lleva con los forms de la app admin, a lo mejor
tengas que "overridear"
el widget usando los mecanismos documentados de ModelAdmin para eso.

Como te decía, se presta para jugar primero y de acuerdo a eso decidir
si vale la pena usarlo.

Suerte... ¡Y contanos cómo te va!

--
Ramiro Morales

Reply all
Reply to author
Forward
0 new messages