[pyar] New-only fields para ForeignKeys en Django admin?

Federico Heinz fheinz en vialibre.org.ar
Dom Feb 27 14:15:15 ART 2011


Gracias, Maximiliano!

Aunque no es exactamente lo que imagino, está bastante cerca, y se me
ocurre que más o menos por este lado está la cosa

Lo que no me termina de servir es que pone los nombres de las
instancias relacionadas como nombre del campo, no como su contenido,
y que además te pone links tanto a la otra tabla como a aquella que
estás mirando. Eso no tiene mucho sentido: si estoy viendo la página
de los guacamayos, no necesito un link a la página de los guacamayos,
sólo a la de cada uno de los colores asociados al guacamayo. De la
misma manera, si tengo en pantalla la página de un color, no necesito
un link a ese color, sólo a los pájaros asociados.

Como sea, hay un pedazo de código en lo que mandaste que parece estar
modificando una estructura de datos que no entiendo:

    class ReadOnlyForm(forms.ModelForm):
        def __init__(self, *args, **kwargs):
            super(ReadOnlyForm, self).__init__(*args, **kwargs)
            instance = getattr(self, 'instance', None)
            if instance and instance.id:
                for field in self.fields:
                    self.fields[field].widget = \
                        ReadOnlyWidget(getattr(instance,field))

Lo que me desorienta es el loop for... ¿estás usando los valores
self.fields como índices de esa misma tabla? ¿cómo funciona eso?

Estoy buscando en la documentación de django qué hay en
ModelForm().fields, y no encuentro info, por lo que imagino que se
trata de alguna magia muy oscura.

	Fede



More information about the pyar mailing list