[pyar] [django] Extender modelo de una reusable app con metodos nuevos

Daniel Moisset dmoisset en machinalis.com
Mie Sep 18 12:33:43 ART 2013


si realmente le queres meter mano a la otra clase y lo haces por
monkeypatching, me parece que puede ser mas manejable escribir un mixin, y
agregarlo al bases de la clase que monkeypatcheas, asi podes tener todo mas
o menos junto.

Si solo queres tener unos metodos extra, por ahi usar proxy models es la
forma mas estandar en django de hacerlo

Saludos,
    D.



2013/9/18 Andres Riancho <andres.riancho en gmail.com>

> Rafael,
>
>     No lo probe realmente, pero asumo que no va a andar porque despues
> la reusable app no va a usar "bar" para hacer todas las cosas de
> manera interna, va a seguir usando su "foo" (porque va importar ese
> objeto desde la reusable app, no el "bar" que yo modifique). Ademas
> asumo que va a haber problemas con los modelos a nivel de BD
>
> 2013/9/18 Rafael E. Ferrero <rafael.ferrero en gmail.com>:
> > no se yo me imagino:
> >
> >
> > from reusable_app.models impor foo
> >
> > class bar(foo):
> >     my_new_field = models....
> >
> >    def mi_methodo()
> >
> >
> >
> > El 18 de septiembre de 2013 12:09, Andres Riancho <
> andres.riancho en gmail.com>
> > escribió:
> >>
> >> Lista,
> >>
> >>     Estoy intentando extender un modelo de una reusable app de la mejor
> >> manera posible. Hasta ahora, y como habia solo extendido el modelo con
> >> nuevos fields use `contribute_to_class`:
> >>
> >> from reusable_app import Foo
> >> models.CharField(max_length=255).contribute_to_class(Foo,
> >> 'short_description')
> >>
> >>     Eso me funciono bien, pero ahora estoy queriendo extender el modelo
> >> con metodos nuevos. No encontre una manera
> documentada/soportada/correcta de
> >> hacer esto, existe? Estoy queriendo evitar  mantener mi propio fork de
> la
> >> reusable app, entiendo que podria copiar toda la app a mi repositorio,
> >> modificarla, agregarla a INSTALLED_APPS, etc. pero no lo veo como una
> buena
> >> practica.
> >>
> >>     Lo que si encontre fue django-extend-model [0], una reusable
> >> application que te permite monkey-patchear la clase del modelo original
> para
> >> extenderla con nuevos fields y metodos. Alguien la usa?
> >>
> >> [0] https://github.com/mikexstudios/django-extend-model
> >>
> >> Saludos,
> >> --
> >> Andrés Riancho
> >> Project Leader at w3af - http://w3af.org/
> >> Web Application Attack and Audit Framework
> >> Twitter: @w3af
> >> GPG: 0x93C344F3
> >>
> >> _______________________________________________
> >> pyar mailing list pyar en python.org.ar
> >> http://listas.python.org.ar/listinfo/pyar
> >>
> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >>
> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> >> Argentina - http://www.usla.org.ar
> >
> >
> >
> >
> > --
> > Rafael E. Ferrero
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> > Argentina - http://www.usla.org.ar
>
>
>
> --
> Andrés Riancho
> Project Leader at w3af - http://w3af.org/
> Web Application Attack and Audit Framework
> Twitter: @w3af
> GPG: 0x93C344F3
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130918/e574e43c/attachment.html>


More information about the pyar mailing list