[pyar] Django.. agregar al QuerySet
Marcelo Martinovic
marcelo.martinovic en gmail.com
Lun Ago 1 19:44:56 ART 2011
On 01/08/11 18:32, Ramiro Morales wrote:
> 2011/8/1 Marcelo Martinovic<marcelo.martinovic en gmail.com>:
>> Buenas lista.
>>
>> Estoy tratando de hacer lo siguiente...
>> Tengo una consulta que me trae
>>
>> id,
>> nombre,
>> apellido,
>> estado
>>
>> Ahora bien mi dilema es quiero una vez ejecutado el
>>
>> algo = MiTabla.objects.all()
>>
>> poder recorrer el queryset "algo" y agregar a cada fila una nueva columna
>> llamada "imagen" y que según el valor de estado pueda meter un texto o un
>> nombre de imagen para que el template luego represente esto.
>
> Si lo querés solamente para poder enviarle información a la plantilla
> (o escrito de otra forma, una evz que llegue el momento de
> pasar información la para el rendering de la plantilla) podés convertir
> el queryset a una lista de diccionarios con el método [1]values() y
> después manejarte con esos diccionarios:
>
> class Modelo(models.Model):
> nombre = models.CharField(...)
>
> qs = Modelo.objects.... # genera un queryset
>
> for dobj in qs.values():
> dobj['mi_imagen'] = '/path/a/imagenes/imagen%05d. png' % dobj['d; ]
>
> ctx['objetos'] = dobj
> return render_to_respobnse('template.html', ctx)
>
> El problema de eso puede llegar a ser si el queryset es realmente grande ya
> que el uso de memoria de los distintas estructuras involucradas (el buffer del
> cliente de DB si lo hay, el queryset de Django y la lista de diccionarios
> resultante) es algo a lo que posiblemente tengas prestarle atención.
> Ahi puede llegar a ser de ayuda el método [2].iterator()
>
Ramiro..
Buen dato, tambien lo voy a probar a ver como va.
Gracias
--
-----------------------------------------
Marcelo Eduardo Martinovic
WEB & Applications Developer
Cel Phone: +54 911 57 80 08 69
Email:
programacionlinux en fibertel.com.ar
marcelo.martinovic en gmail.com
Debian User # 210
Linux User #191067
MSN Contact: programacionlinux en hotmail.com
Skype Contact: programacionlinux en hotmail.com
BlackBerry PIN: 224E6786
More information about the pyar
mailing list