[pyar] [django] agregar un campo "ficticio" al queryset

xavier lesa xavierlesa en gmail.com
Mie Sep 29 10:51:32 ART 2010


a ver si estamos entendiendo:

tenes:

# modelo
class Articulo(models.Model):
    item = models.CharField(max_length=40)


# form
class ArticuloForm(forms.ModelForm):
    cantidad = forms.CharField()
    class Meta:
        model = Articulo


# admin
class ArticuloAdmin(admin.ModelAdmin):
    model = Articulo
    form = ArticuloForm
    list_display = ('item', 'cantidad')
    list_editable = ('cantidad',)


Así deberías tener tus modelos


Xavier Lesa

Desarrollo y Tecnología
Personal: +11 15 3868 3918
Skype: xavierlesa
twitter: @xavierlesa



2010/9/28 Daniel <dmlistapython en gmail.com>

> El día 28 de septiembre de 2010 17:15, Ramiro Morales
> <cramm0 en gmail.com> escribió:
> > 2010/9/28 Daniel <dmlistapython en gmail.com>:
> >>>>
> >>>> No es un campo calculado, necesito un textbox para procesarlo en el
> método
> >>>> save del modelo.
> >>>> Según el valor de ese texto hago una cosa u otra.
> >>>> Por eso no me sirve un get
> >>>
> >>> Ah, en ese caso definite un modelform, agregale un campo, y setea el
> >>> campo form del modelo a tu form... despues en el save del modeladmin
> >>> podes consultar el valor del campo Nuevo y hacerle lo que corresponda
> >>> a tu modelo.
> >>>
> >> que es lo que le falta al pastebin? ¿no está definido el campo en el
> modelform?
> >
> > A ver, pongamonos de acuerdo.
> >
> > Entiendo que lo que te sugiere Dani (Moisset) es en sesencia lo que tenés
> > en el pastebin.
> >
> > El problema es que el ModelForm personalizado que le especificás
> > al ModelAdmin se usa solamente para las vistas de alta y modificación
> > de una instancia del modelo.
> >
> > Pero lo que Daniel (Malisani) necesita es poder listar ese campo
> > en la vista changelist del modelo.
> >
> > Ahora, los campos que listas en list_display son solo lectura
> > porque aparecen en la vista changelist (a menos que uses
> > adcionalmente list_editable, pero no aclaraste si estás usando
> > lo estás haciendo o no).
> claro, según la documentación de django no podría salir en el list_editable
> si no está en el list_display
>
> > Y ahi no me cierra poque por lo que escribiste arriba (y es info
> > que no nos habías dado al principio) necesitas que
> > ese campo se pueda modificar en el admin (pero donde?)
> > y acceder a la misma en el método save() del modelo.
> >
> > No está faltando una descripción mas completa de lo que querés
> > lograr para poder ayudarte.
> >
> > --
> En la práctica lo que necesito es... dado un listado de artículos
> el usuario, marca las cantidades que necesita de cada uno
> pero ese campo no está en el modelo.
> En una de las acciones debo pasarlo a otra tabla junto con otras
> cosas (y acabo de darme cuenta que no utilizaría el método save
> sino una acción del admin -porque no entraría al add/edit- sorry)
>
> se me acaba de ocurrir, ¿podría hacer un proxy unmanaged del modelo
> artículo y agregarle un field?
>
>
>
> --
> Daniel Malisani
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100929/35f7d536/attachment-0002.html>


More information about the pyar mailing list