Disfruta de más entretenimiento en la Web con la guía de casinos líder en español que ofrece los juegos más avanzados como ruleta, video poker, blackjack y tragamonedas .

Workaround para el bug 7233 de Django

El bug se describe en http://code.djangoproject.com/ticket/7233, pero básicamente consiste en la imposibilidad de guardar objetos de tipo QueryDict en una sesión. Los usuarios de Django suelen toparse con el problema al intentar guardar en la sesión el objeto request.POST, yo lo hago de esta forma:

request.session['POST'] = dict(request.POST.items())

No sirve si se tienen múltiples valores para una clave porque items devuelve para cada clave el último valor almacenado.

En este caso, se puede usar lists:

request.session['POST'] = dict(request.POST.lists())

         
0 votos

One Response to “Workaround para el bug 7233 de Django”

  1. Juanjo says:

    OJo!, A veces hay que combinar estas cosas. Por ejemplo, si en POST viene el valor de un capo que advime múltiples valores, hay que combinar las dos alternativas. Este es un ejemplo sacado de código real:

    # Un dict a partir de un QueryDict

    d = dict(post_consulta.items())

    d['barrios'] = post_consulta.getlist(’barrios’)

    request.session['POST'] = d

Dejar una respuesta

Line and paragraph breaks automatic.
XHTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>