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

Facundo Batista facundobatista en gmail.com
Jue Ene 31 19:01:35 -03 2019


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


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