Foros del Web » Programando para Internet » Python »

Filtrar valores para "selects" en "list_editable" (Admin)

Estas en el tema de Filtrar valores para "selects" en "list_editable" (Admin) en el foro de Python en Foros del Web. Necesito crear un filtro para los valores de un select que tengo en "list_editable" de un modelo. Basicamente el parametro se llama categoria, hace referencia ...
  #1 (permalink)  
Antiguo 18/10/2012, 23:18
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 8 meses
Puntos: 4
Filtrar valores para "selects" en "list_editable" (Admin)

Necesito crear un filtro para los valores de un select que tengo en "list_editable" de un modelo.

Basicamente el parametro se llama categoria, hace referencia al modelo categoria en el cual se puede seleccionar justamente la categoria ... el problema es que quiero filtrar los valores que se muestran en el select que esta en el listado y no se como hacerlo.



Se como realizar el filtro en la pantalla de edición del modelo per se:

Cita:
class ContenidoForm(forms.ModelForm):

def __init__(self, *args, **kwargs):
super(ContenidoForm, self).__init__(*args, **kwargs)
self.fields['categoria'].queryset = Categoria.objects.filter(padre_id__isnull=False)

Pero lo que necesito ahora es poder llevar ese filtro al listado.

Gracias.
  #2 (permalink)  
Antiguo 19/10/2012, 11:05
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Filtrar valores para "selects" en "list_editable" (Admin)

Usa formfield_for_foreignkey (en tu modelAdmin) para filtrar los valores que quieras sobre un campo en especifico.
  #3 (permalink)  
Antiguo 19/10/2012, 12:57
 
Fecha de Ingreso: marzo-2007
Mensajes: 340
Antigüedad: 17 años, 8 meses
Puntos: 4
Respuesta: Filtrar valores para "selects" en "list_editable" (Admin)

Excelente, gracias !

Etiquetas: filtrar, lista, selects
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 09:18.