[Python-es] django - reusar admin cuando no todos los campos estan en el modelo

Andrey Antoukh andsux en gmail.com
Mar Sep 27 00:42:58 CEST 2011


Entonces, lo que tienes que hacer, es basicamente crear una clase
heredando de admin.ModelAdmin, asociarle un formulario con mas campos,
y luego, sobreescribir el metodo de guardado de ModelAdmin, para
tratar los datos, sea guardarlos en el modelo, sea guardarlos mediante
ws...

Para leerlos, bueno, seguro que hay metodos que puedes
sobreesciribir... pero.. pero, no creo que sea lo optimo ni que se
integre bien.
Un guardado de datos extra en webservices es mas logico, pero lectura
de datos, no creo que se integre bien, ya que django admin trabaja con
modelo de django y sus querysets... lo que hace que no vayas a poder
listar los elementos que obtengas mediante ws...

Igual si parte de datos residen en el modelo, a la hora de modificar
puedes importar datos de lectura y prerelenar el formulario.

Espero haber dado una pista por donde seguir, todo esto lo tendras que
resolver mediante subclases de ModelAdmin, y luego registrando tus
modelos con esas subclases ;)

Andrei.

El día 27 de septiembre de 2011 00:06, Cesar Ortiz
<cesar.ortiz en gmail.com> escribió:
> Por http usando un 'web service'.
>
> 2011/9/26 Andrey Antoukh <andsux en gmail.com>
>>
>> El día 26 de septiembre de 2011 13:04, Cesar Ortiz
>> <cesar.ortiz en gmail.com> escribió:
>> > Hola listeros,
>> > Disclaimer: soy nuevo en django y aunque la lisa no es de django quizás
>> > sea
>> > de interés el tema.
>> > Os expongo primero el contexto.
>> > Tenemos una aplicación (app1) con un interfaz REST con la cual podemos
>> > realizar differentes acciones, modificar y leer datos.
>> > Por otro lados vamos a tener una aplicación de gestión (app2) que va a
>> > interactuar con la aplicación anterior.
>> > Queremos evitar la duplicación de datos, por lo que los datos que
>> > pertenezcan a 'app1' sólo van a estar en la BD de 'app1'. Lógicamente
>> > hay
>> > ciertos datos que necesitamos estén duplicados para poder relacionar los
>> > modelos.
>> > La ventaja de usar el 'admin', es que puedes desarrollar una interfaz en
>> > dos
>> > patadas con independencia de tener diseñadores a tu disposición.
>> > El problema es que ciertos campos de un modelo, no necesitan ser
>> > leídos/escritos en la BD pero si renderizados en las templates. ¿Cuál es
>> > la
>> > mejor manera de implementarlo en django usando el admin?
>>
>> Solo una pequeña curiosidad, si esos datos no son leidos/escritos en
>> la db.. de donde se cogen o donde se guardarian?
>> Andrei.
>>
>>
>> > Gracias y un saludo!
>> > -- César
>> > _______________________________________________
>> > Python-es mailing list
>> > Python-es en python.org
>> > http://mail.python.org/mailman/listinfo/python-es
>> > FAQ: http://python-es-faq.wikidot.com/
>> >
>> >
>>
>>
>>
>> --
>> http://twitter.com/andsux
>> http://www.niwi.be
>> ****
>> http://www.freebsd.org/
>> http://www.postgresql.org/
>> http://www.python.org/
>> http://www.djangoproject.com/
>>
>> "Linux is for people who hate Windows, BSD is for people who love UNIX"
>> "Social Engineer -> Because there is no patch for human stupidity"
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>



-- 
http://twitter.com/andsux
http://www.niwi.be
****
http://www.freebsd.org/
http://www.postgresql.org/
http://www.python.org/
http://www.djangoproject.com/

"Linux is for people who hate Windows, BSD is for people who love UNIX"
"Social Engineer -> Because there is no patch for human stupidity"


Más información sobre la lista de distribución Python-es