[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