Gabriel, si colocás la coma, tenes que tener cuidado, pero si, funciona.<div>Al llamar al filter, debés usar *q, no q solo porque es una tupla.</div><div>Al usar *q, estás pasandole a filter una lista de parámetros a utilizar.</div>

<div><br></div><div>Por ejemplo:</div><div><br></div><div>q = Q(nombre__startswith=&#39;Cesar&#39;)</div><div># Aquí q es un Q object</div><div><br></div><div>q = q, Q(apellido__endswith=&#39;Roldan&#39;)</div><div># en este momento q es una tupla</div>

<div><br></div><div># La llamada en este caso deberías hacerla</div><div>Modelo.objects.filter(*q)</div><div><br></div><div>Saludo</div><div><br clear="all"><div>César</div><br>
<br><br><div class="gmail_quote">El 28 de junio de 2012 12:48, gabriel fernandez<span dir="ltr">&lt;<a href="mailto:gabofer82@gmail.com" target="_blank">gabofer82@gmail.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

César, si coloco &quot;,&quot; (and) tambien los une?<div class="im"><br><br><div>q = None</div><div>for op in opciones:</div><div>  if q is None:</div><div>    q = Q(Modelo__contains=op)</div><div>  else:</div></div><div>

    q = q , Q(Modelo__contains=op)   &lt;===<br>
</div><br><br><div class="gmail_quote"><div class="im">El 28 de junio de 2012 12:12, César H. Roldán <span dir="ltr">&lt;<a href="mailto:croldan@gmail.com" target="_blank">croldan@gmail.com</a>&gt;</span> escribió:<br></div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Con el raw que te indicó Eduardo te debería servir, eso te mapea los objetos y te retorna un queryset.<div><div class="h5"><div><br></div><div>Ahora, lo mejor, me parece es que en lugar de dar opciones con radio, pongas checkbox, eso te puede retornar una lista de valores para un campo, y con eso simplemente haces un for y vas armando objetos Q, los cuales los unís con | (or)</div>




<div><br></div><div>q = None</div><div>for op in opciones:</div><div>  if q is None:</div><div>    q = Q(Modelo__contains=op)</div><div>  else:</div><div>    q = q | Q(Modelo__contains=op)</div><div><br></div><div>Saludo</div>




<div><br clear="all"><div>César</div><br><div class="gmail_quote">El 28 de junio de 2012 12:01, gabriel fernandez<span dir="ltr">&lt;<a href="mailto:gabofer82@gmail.com" target="_blank">gabofer82@gmail.com</a>&gt;</span> escribió:<div>


<div><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ok, pero yo quiero hacer un queryset, por eso uso Q, porque la consulta<br>evalua muchas opciones, no se si las formas son excluyentes, como seria<br>




raw en una consulta con Q?<br><br><div class="gmail_quote">El 28 de junio de 2012 11:51, Eduardo Matus <span dir="ltr">&lt;<a href="mailto:ematus@gmail.com" target="_blank">ematus@gmail.com</a>&gt;</span> escribió:<div><div>




<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Tambien esta &quot;raw&quot;<div><br></div><div>resultados = Modelo.objects.raw(&quot;select * from foo&quot;)</div><div>





<br></div><div>lo que hace es que mapea las columnas a los campos del modelo, como si fuera objetos POCO.<div><div><br>
<br><div class="gmail_quote">2012/6/28 Manuel Ignacio Franco Galeano <span dir="ltr">&lt;<a href="mailto:maigfrga@gmail.com" target="_blank">maigfrga@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">






tambien esta la opcion de hacer con sql <a href="https://docs.djangoproject.com/en/dev/topics/db/sql/" target="_blank">https://docs.djangoproject.com/en/dev/topics/db/sql/</a><div><br></div><div><br></div><div><br></div>





<div>
<pre><font size="4"><span>def</span> <span>my_custom_sql</span><span>():</span>
    <span>from</span> <span>django.db</span> <span>import</span> <span>connection</span><span>,</span> <span>transaction</span>
    <span>cursor</span> <span>=</span> <span>connection</span><span>.</span><span>cursor</span><span>()</span>

    <span># Data modifying operation - commit required</span>
    <span>cursor</span><span>.</span><span>execute</span><span>(</span><span>&quot;UPDATE bar SET foo = 1 WHERE baz = </span><span>%s</span><span>&quot;</span><span>,</span> <span>[</span><span>self</span><span>.</span><span>baz</span><span>])</span>
    <span>transaction</span><span>.</span><span>commit_unless_managed</span><span>()</span>

    <span># Data retrieval operation - no commit required</span>
    <span>cursor</span><span>.</span><span>execute</span><span>(</span><span>&quot;SELECT foo FROM bar WHERE baz = </span><span>%s</span><span>&quot;</span><span>,</span> <span>[</span><span>self</span><span>.</span><span>baz</span><span>])</span>
    <span>row</span> <span>=</span> <span>cursor</span><span>.</span><span>fetchone</span><span>()</span>

    <span>return</span> <span>row</span></font></pre><pre><span><br></span></pre><pre><span><br></span></pre><pre><span><br></span></pre><pre><span><br></span></pre>
</div><div><br></div><div><br><br><div class="gmail_quote">El 28 de junio de 2012 16:39, Eduardo Matus <span dir="ltr">&lt;<a href="mailto:ematus@gmail.com" target="_blank">ematus@gmail.com</a>&gt;</span> escribió:<div><div>






<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
primero que nada, esto no es una &quot;consulta compleja&quot;.<div>if seleccion == &#39;todo&#39;:</div><div>    qset = ( Q(Modelo__contains=&#39;opcion1&#39;) | Q(Modelo__contains=&#39;opcion2&#39;))<br><br><div class="gmail_quote">








2012/6/28 gabriel fernandez <span dir="ltr">&lt;<a href="mailto:gabofer82@gmail.com" target="_blank">gabofer82@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<div><div>
Hola Lista!!!<br><br>Agradezco a quién me pueda dar una mano!<br><br>El problema es como sigue:<br><br>Tengo una busqueda en la cual uso tres radio button:<br><br>Opcion 1      Opcion 2   Opcion 1-2(Ambas)<br><br>En la vista cuando voy a procesar el formulario tengo algo asi (luego de validar):<br>









<br>seleccion = form.cleaned_data[&#39;opciones&#39;]<br>qset = (<br>           Q(Modelo__contains=seleccion)<br>)<br><br>El problema consiste en como hacer cuando se selecciona la Opcion 1-2 ya que engloba<br>las dos opciones anteriores, hay algo que indique que quiero todo algo tipo:<br>









<br>qset = (<br>
           Q(Modelo__contains=&#39;todo&#39;)<br>
)<br clear="all"><br>Uso el modulo Q para consultas complejas porque en realidad tengo mas de una seleccion <br>como la anterior. Muestro una solamente porque el resto son iguales, y van tambien en la misma<br>tupla de qset.<br>









<br>Espero ser claro.<br><br>Quedo a la espera de sus opiniones y ayuda. Muchas gracias!<span><font color="#888888"><br>-- <br>Gabriel Fernández<br>Desrrollador Web<br><a href="http://www.openweb.com.uy" target="_blank">www.openweb.com.uy</a> <br>








<img><br>
<br>
</font></span><br></div></div>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br>Eduardo Matus Coquelet<br>Ingeniero Civil Informático y Telecomunicaciones.<br>Celular: 77113825<br>
</font></span></div>
<br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Eduardo Matus Coquelet<br>Ingeniero Civil Informático y Telecomunicaciones.<br>Celular: 77113825<br>
</div></div></div>
<br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div></div></div><div><div><br><br clear="all"><br>-- <br>Gabriel Fernández<br>Desrrollador Web<br><a href="http://www.openweb.com.uy" target="_blank">www.openweb.com.uy</a> <br>

<img><br>
<br>
</div></div><br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></div></div></blockquote></div><div class="HOEnZb"><div class="h5"><br><br clear="all"><br>-- <br>Gabriel Fernández<br>Desrrollador Web<br><a href="http://www.openweb.com.uy" target="_blank">www.openweb.com.uy</a> <br>

<img height="39" width="420"><br>
<br>
</div></div><br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div><br></div>