Foros del Web » Programando para Internet » Python »

Acceder a un objeto determinado de un array mediante un campo unico.

Estas en el tema de Acceder a un objeto determinado de un array mediante un campo unico. en el foro de Python en Foros del Web. Si mando una lista de objetos a un template podria acceder al primero de esta forma: vista: muchascosas = Objetos.objects.all() template: muchascosas.0.loqueyoquiera El 0 es ...
  #1 (permalink)  
Antiguo 06/04/2014, 23:34
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 1 mes
Puntos: 4
Acceder a un objeto determinado de un array mediante un campo unico.

Si mando una lista de objetos a un template podria acceder al primero de esta forma:

vista:

muchascosas = Objetos.objects.all()

template:

muchascosas.0.loqueyoquiera

El 0 es el indice y de esa forma imprimo el primer valor del array de objetos.

Ahora bien, si yo quisiera usar un campo unico del objeto definido en el modelo en ves de ese 0, seria posible ???

por ej: muchascosas.nombre_del_valor_unico.loqueyoquiera

Lo que necesito es poder definir un indice de mi eleccion para el array.

gracias !
  #2 (permalink)  
Antiguo 07/04/2014, 09:55
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Acceder a un objeto determinado de un array mediante un campo unico.

Haz la query para obtener ese objeto. Y mandalo desde la vista.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 07/04/2014, 21:39
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Acceder a un objeto determinado de un array mediante un campo unico.

GRacias pero necesito si o si acceder a el objeto contenido en el array desde el template con un indice de mi eleccion, es posible ?
  #4 (permalink)  
Antiguo 08/04/2014, 09:08
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Acceder a un objeto determinado de un array mediante un campo unico.

Quizá con un template tag, pero no veo que problema con hacer eso en la vista. Tampoco me encuentro en un caso en que lo usarías.

Saludos
__________________
Grupo Telegram Docker en Español
  #5 (permalink)  
Antiguo 08/04/2014, 22:04
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Acceder a un objeto determinado de un array mediante un campo unico.

Suponte que tenes un array de objetos que varia segun la categoria de articulos donde estas parado.

Y en el template, que es el mismo para todas las categorias pones tan solo {{ muchascosas.nombre_del_valor_unico.loqueyoquiera }} y voila ! aparece tu valor, y si no estas en la categoria que tienes que estar simplemente no aparece.

Es una cuestion practica, pero bueno, lo resolvi de una forma mas chuncana, colocas un for con un condicional dentro para ver si esta el tag, y si esta lo imprimes.

Saludos y gracias.
  #6 (permalink)  
Antiguo 09/04/2014, 09:11
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Acceder a un objeto determinado de un array mediante un campo unico.

Claro que sé a lo que te refieres, solo que te digo que me parece muy cochino hacerlo en la plantilla cuando deberías hacerlo en la vista, por ejemplo y suponiendo que nombre_del_valor_unico es un entero (si no, no veo de que forma lo harías):

Código Python:
Ver original
  1. objeto = muchascosas[nombre_del_valor_unico]


Saludos
__________________
Grupo Telegram Docker en Español

Última edición por Carlangueitor; 09/04/2014 a las 11:30
  #7 (permalink)  
Antiguo 09/04/2014, 11:21
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Acceder a un objeto determinado de un array mediante un campo unico.

Es que tienes solo un template para todas las opciones, no necesitas mas ... la preparacion de los objetos que necesitas la haces perfectamente en la vista, pero luego en el template tienes que poder colocar el tag q tu quieras y segun donde estes parado se imprimira o no porque la vista puede haberlo enviado en el array o no.

Si yo pudiera acceder a un valor de ese array por el ID o por un campo unico seria exelente, pero como no puedo no me queda otra opcion q poner un bucle por cada tag que compruebe si el tag q quiero imprimir esta o no dentro del array para esa x situacion.

Saludos !

Etiquetas: campo, determinado, mediante, objeto, usar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:53.