tengo un problema, tengo una base de datos de usuarios, y necesito un motor de busqueda altamente discriminante...
que por ejemplo sea posibile decir
selecionar todos los usuarios de las ciudades tampico,madero de edades de 15 a 20 y de sexo femenino..
y ala vez pueda hacer un seleccionar todos los usuarios de la ciudad de altamira
y obiamente con un metodo generico...
en php normalmente yo aria un constructor sql que optenga los datos de un formulario con checkboxs
pro estoy trabajando sobre python y django... y django tiene un potente sistema ORM que por algun extraño motivo no permite hacer OR tan facil
es posible hacer una consulta como
dic = {ciudad:tampico,edad_minima:15,edad_maxima:24,sexo:femenino}
usuario.objects.filter(**dic)
(** explota el diccionario)
pero me crearia una consulta con puros ands....
la solucion que ofrece ese orm es mediante otra libreria llamada Q objects
en la que es posible poner or's con | y la consulta seria algo asi...
usuario.objects.get( Q(ciudad=Tampico)|Q(ciudad = Madero) , edad_min=15...etc )
el problema ahora es que debo pasar N datos por OR
datos que tengo en una lista = [tampico,madero....]
y que podria explotar asi *[Q(ciudad=x) for x in lista]
pero eso me separa cada Q(ciudad=x) con , y yo necesito una sepracion con |