[pyar] [django] Cambiando un atributo de un modelo para usar property ... ¿y con el admin qué hago?

Pedro Pezzarini jose2190 en gmail.com
Jue Ene 31 21:18:29 -03 2019


Buenas Facundo!
Si te referis al admin como la edición, podés definir el formulario, y
asignarle un initial

form.fields["foo"].initial = obj._get_foo()

Si por admin te referís al listado, podes definir en el admin.py
list_display = (myFooField)

def myFooField(self, obj):
        return(obj._get_foo)
    myFooField.short_descripcion = 'My Foo Field'
    myFooField.allow_tags = True

Espero haber sido de ayuda!
Abrazo!

On Thu, Jan 31, 2019 at 7:02 PM Facundo Batista <facundobatista en gmail.com>
wrote:

> Hola!
>
> Resulta que tengo un modelo en django que tiene el campo "foo".
>
> Pero resulta que quiero cambiarle el comportamiento por default,
> entonces renombro `foo` a `_foo`, y luego agrego un property onda...
>
>   def _get_foo(self):
>     return self._foo[3:]
>
>   def _set_foo(self, value):
>     self._foo = ">>>" + value
>
> Entonces, si alguien hace `Coso.foo = "bleh"`, realmente el campo en
> la base de datos tiene ">>>bleh".
>
> Hasta ahora, todo bien.
>
> El tema es, ¿qué hago con el admin?
>
> Yo quiero que cuando entre a una instancia de este modelo, por ejemplo
> la de recién, aunque en la DB tenga ">>>bleh", el admin me muestre
> "bleh". Y que si va el humano y pone "wat", termine ejecutándose el
> property para que la DB tenga ">>>wat".
>
> ¿Se puede? ¿Cómo?
>
> Gracias!!
>
> --
> .    Facundo
>
> Blog: http://www.taniquetil.com.ar/plog/
> PyAr: http://www.python.org.ar/
> Twitter: @facundobatista
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> 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/20190131/02d2cb0f/attachment.html>


Más información sobre la lista de distribución pyar