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

Facundo Batista facundobatista en gmail.com
Vie Feb 1 23:42:51 -03 2019


El jue., 31 de ene. de 2019 a la(s) 21:18, Pedro Pezzarini
(jose2190 en gmail.com) escribió:

> 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()

Este seteo lo hago en el get_form() que pongo para sobreescribir el de
ModelAdmin, no?

Estuve probando... a priori, ojo que tengo que usar "base_fields" (el
form no tiene "fields"), y el nombre de campo es el verdadero (no el
property). En definitiva, hice esto:

    def get_form(self, request, obj=None, **kwargs):
        form = super().get_form(request, obj, **kwargs)
        if obj is not None:
            form.base_fields['_foo'].initial = obj._get_foo()
        return form

...que no explota, pero el admin no me muestra lo que puse ahí :/

Gracias igual!

-- 
.    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