[pyar] Django querys

Felipe Lerena felipelerena en gmail.com
Dom Mar 31 23:58:05 ART 2013


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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130331/cd6aef3e/attachment.html>


More information about the pyar mailing list