Saltar al contenido

¿Cómo cambiar un QueryDict de django a Python Dict?

Solución:

Nuevo en Django> = 1.4.

QueryDict.dict()

https://docs.djangoproject.com/en/stable/ref/request-response/#django.http.QueryDict.dict

Esto debería funcionar: myDict = dict(queryDict.iterlists())

Esto es lo que terminé usando:

def qdict_to_dict(qdict):
    """Convert a Django QueryDict to a Python dict.

    Single-value fields are put in directly, and for multi-value fields, a list
    of all values is stored at the field's key.

    """
    return {k: v[0] if len(v) == 1 else v for k, v in qdict.lists()}

Según mi uso, esto parece darle una lista que puede enviar de vuelta, por ejemplo, a un constructor de formularios.

EDITAR: tal vez este no sea el mejor método. Parece que si quieres, por ejemplo, escribir QueryDict a un archivo por alguna loca razón, QueryDict.urlencode() es el camino a seguir. Para reconstruir el QueryDict simplemente lo haces QueryDict(urlencoded_data).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *