[pyar] Django querys

Felipe Lerena felipelerena en gmail.com
Lun Abr 1 00:03:03 ART 2013


El metodo get de un diccionario recibe en primer lugar la key y en segundo
lo que devuelve en caso de no encontrar la key. Si no le pasas nada
devuelve None.
On Mar 31, 2013 10:00 PM, "Ramiro Floydant" <ramirotrvnt18 en gmail.com> wrote:

> Gracias por las respuestas. Ahora estoy entendiendo más.
>
> Felipe, podrías explicarte un poco más?
>
>
> 2013/3/31 Felipe Lerena <felipelerena en gmail.com>
>
>> En realidad estas haciendo algo feo. Lo que tendrias que hacer es no
>> pasar el segundo parametro del get y hacer:"if query is not None:" esa es
>> la posta
>>
>> Lipe
>> On Mar 31, 2013 9:47 PM, "Alejandro Santos" <listas en alejolp.com> wrote:
>>
>>> 2013/3/31 Ramiro Floydant <ramirotrvnt18 en gmail.com>:
>>> > Me encontré con una función de búsqueda que anda perfecta, pero no pude
>>> > asimilar del todo:
>>> >
>>> > def search(request):
>>> >       query = request.GET.get("q", " ")
>>>
>>> Esta línea de acá arriba invoca a éste método:
>>>
>>>
>>> https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.QueryDict.get
>>>
>>> request.GET es un diccionario, y la función "get" es para obtener el
>>> elemento con clave "q" del dict.
>>>
>>> Fijate el detalle de que le pasa un segundo parámetro con un string "
>>> ", que es un string de UN espacio. Eso tiene como consecuencia que si
>>> no existe el parámetro "q" en el request, le asigna un valor que no
>>> significa nada pero que hace que entre en el if. (el string " " se
>>> evalúa como True).
>>>
>>> >
>>> > El concepto que no logro entender es el del "if query". Justamente
>>> porque
>>> > uso esa misma expresión en la plantilla y cumple otra función:
>>> >
>>>
>>> Fijate en la plantilla como viene el hilo de ejecución: el if query se
>>> ejecuta solo si "results" es False. Eso quiere decir que la lista de
>>> resultados es vacía, y puede ser porque a) lo que se buscó no aparece,
>>> b) no se buscó nada. Si query tiene algo dentro estás en el primer
>>> caso, si query es vacío estás en el segundo.
>>>
>>> (se me ocurre que hay un bug acá, porque la ausencia del parámetro "q"
>>> asignaría el string " " a query y en la plantilla se generaría el
>>> primer caso cuando debería generar el segundo)
>>>
>>>
>>> --
>>> Alejandro Santos
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130401/ec27300a/attachment.html>


More information about the pyar mailing list