[Python-es] Busqueda compleja en BD

Manuel Ignacio Franco Galeano maigfrga en gmail.com
Jue Jun 28 16:46:05 CEST 2012


tambien esta la opcion de hacer con sql
https://docs.djangoproject.com/en/dev/topics/db/sql/



def my_custom_sql():
    from django.db import connection, transaction
    cursor = connection.cursor()

    # Data modifying operation - commit required
    cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz])
    transaction.commit_unless_managed()

    # Data retrieval operation - no commit required
    cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])
    row = cursor.fetchone()

    return row








El 28 de junio de 2012 16:39, Eduardo Matus <ematus en gmail.com> escribió:

> primero que nada, esto no es una "consulta compleja".
> if seleccion == 'todo':
>     qset = ( Q(Modelo__contains='opcion1') | Q(Modelo__contains='opcion2'))
>
> 2012/6/28 gabriel fernandez <gabofer82 en gmail.com>
>
>> Hola Lista!!!
>>
>> Agradezco a quién me pueda dar una mano!
>>
>> El problema es como sigue:
>>
>> Tengo una busqueda en la cual uso tres radio button:
>>
>> Opcion 1      Opcion 2   Opcion 1-2(Ambas)
>>
>> En la vista cuando voy a procesar el formulario tengo algo asi (luego de
>> validar):
>>
>> seleccion = form.cleaned_data['opciones']
>> qset = (
>>            Q(Modelo__contains=seleccion)
>> )
>>
>> El problema consiste en como hacer cuando se selecciona la Opcion 1-2 ya
>> que engloba
>> las dos opciones anteriores, hay algo que indique que quiero todo algo
>> tipo:
>>
>> qset = (
>>            Q(Modelo__contains='todo')
>> )
>>
>> Uso el modulo Q para consultas complejas porque en realidad tengo mas de
>> una seleccion
>> como la anterior. Muestro una solamente porque el resto son iguales, y
>> van tambien en la misma
>> tupla de qset.
>>
>> Espero ser claro.
>>
>> Quedo a la espera de sus opiniones y ayuda. Muchas gracias!
>> --
>> Gabriel Fernández
>> Desrrollador Web
>> www.openweb.com.uy
>>
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
>
> --
> Eduardo Matus Coquelet
> Ingeniero Civil Informático y Telecomunicaciones.
> Celular: 77113825
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120628/d7fbaae0/attachment.html>


Más información sobre la lista de distribución Python-es