Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/07/2014, 16:13
bizzozzero
 
Fecha de Ingreso: febrero-2014
Mensajes: 7
Antigüedad: 10 años, 9 meses
Puntos: 0
Pregunta Como realizar consulta con varios parámetros?

Hola, Debo realizar una consulta o una opción de búsqueda por varios parámetros y no lo puedo hacer.


Esta es las lineas de código que había utilizado para que en una sola opción me permite buscar por Nombre, Apellido y Nro de CI. Pero me solicitan buscar por separado:
Nombre: *****
Apellido: ******
NCI: ****** que seria el numero de documento.

Código Python:
Ver original
  1. @login_required
  2. def BuscarPersona(solicitud):
  3.     if 'consulta' not in solicitud.GET:
  4.         return ListView.as_view(queryset = DatosPersonalesBasicos.objects.none(), template_name = "paciente_buscar.html")(solicitud)
  5.     orden = solicitud.GET.get('orden', 'tipo')
  6.     orden = orden if orden in ['Nombre', 'Apellido'] else 'tipo'
  7.     consulta = solicitud.GET["consulta"]
  8.     consulta = Q(Nombre__icontains = consulta)| Q(Apellido__icontains = consulta) | Q(Cedula__icontains = consulta)
  9.     qs =  DatosPersonalesBasicos.objects.filter(datosagresor = None).filter(consulta)
  10.     if orden == 'tipo':
  11.         qs = list(combinar(qs.exclude(datosinfantiles = None), qs.exclude(datosdepacienteadolescente = None), qs.exclude(datosdepacienteadulto = None)))
  12.     else:
  13.         qs = qs.order_by(orden)
  14.     return BuscarPersonaResultados.as_view(extra={"consulta": solicitud.GET["consulta"], 'orden': orden}, queryset = qs, template_name = "paciente_buscar.html", paginate_by = 30)(solicitud)

Última edición por razpeitia; 14/07/2014 a las 16:36