admin.ModelAdmin acceder atributos del objetos

64 views
Skip to first unread message

Jonathan G Linenberg

unread,
Apr 3, 2012, 4:33:02 PM4/3/12
to djan...@googlegroups.com
Buenas,

Pregunta: ¿Como puedo acceder a los atributos de un Modelo/Clase desde su form del admin osea su clase en el admin.py? La cuestión es la siguiente estoy armando un action que me crea un documento en json con la info del form para poder parsearlo con otro script lo que tengo es lo siguiente:


models.py

class Server(models.Model)
    hostname = models.CharField(max_length=20)
    ...

admin.py

class ServerAdmin(admin.ModelAdmin)
    ...
    actions = ['export_data']
    def export_data(modeladmin, request, queryset):
        response = HttpResponse(mimetype="text/javascript")
        response['Content-Disposition'] = 'attachment; filename=server_info.json'
        print self.hostname
        serializers.serialize("json", queryset, stream=response)
        return response

Esto "funciona" pero no es lo que espero recibir, dado que las referencias que tira no me sirven. Así que quería usar simplejson para armar un json customizado, de ahí el falso intento del print self.hostname. Ahora el tema es que no se como acceder a los atributos de las clases desde la clase del admin, alguien me tira una linea o algún doco? Busque pero no encontré nada que me sirva.

Se agradece cualquier sugerencia y/u opinión.
Abrazo!
--
Jonathan G. Linenberg
Linux User # 521828

zodman

unread,
Apr 3, 2012, 5:50:09 PM4/3/12
to djan...@googlegroups.com
como es un action tu seleccionas (checkbox) en la lista del admin los
objetos que vas a usar

esos vienen en tu queryset
por lo que:


def export_data(modeladmin, request, queryset):
hostnames = []
for i in queryset:
hostnames.append(i.hostname)


2012/4/3 Jonathan G Linenberg <jline...@gmail.com>:

> --
> Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del
> Framework Django de habla hispana" de Grupos de Google.
> Si quieres publicar en este grupo, envía un mensaje de correo
> electrónico a djan...@googlegroups.com
> Para anular la suscripción a este grupo, envíe un mensaje a
> django-es-...@googlegroups.com
> Para obtener más opciones, visita este grupo en
> http://groups.google.com.bo/group/django-es.

Reply all
Reply to author
Forward
0 new messages