[PYTHON] Mémorandum sur le QueryDict de Django

C'est celui utilisé dans request.POST. Notez qu'il était nécessaire de confirmer la différence de comportement avec dict.

La caractéristique est

--Passez la chaîne de requête pour créer une instance --Immuable (mais vous pouvez passer mutable = True) --Maintenir les valeurs dans une liste (hériter de MultiValueDict)

>>> from django.http import QueryDict
>>> qd = QueryDict('spam=1&egg=2')

#Lorsque vous l'obtenez avec get, une chaîne de caractères est renvoyée
>>> qd.get('spam')
u'1'

#Obtenir la liste avec la liste des retours getlist
>>> qd.getlist('spam')
[u'1']

#Revenir à la chaîne de requête
>>> qd.urlencode()
u'egg=2&spam=1'

#Essayez de définir la valeur
>>> qd['spam'] = 100
AttributeError: This QueryDict instance is immutable

# mutable=Créer un QueryDict avec True
>>> qd2 = QueryDict('spam=1&egg=2', mutable=True)                                                                                                                                 
>>> qd2.get('spam')
u'1'
>>> qd2['spam'] = 100
>>> qd2.get('spam')
100

#Essayez de convertir en dict
>>> d = dict(qd)
>>> d.get('spam')
[u'1']

Recommended Posts

Mémorandum sur le QueryDict de Django
Un mémorandum sur Nan.
Mémorandum elasticsearch_dsl
Un mémorandum sur les avertissements dans les résultats de sortie de pylint
Remarque sur la compilation du noyau
Mémorandum sur la corrélation [Python]
Un mémorandum sur le simulacre de Python
Un mémorandum d'utilisation de eigen3
Mémorandum de dossiers sous conf.d
Un mémorandum du contenu de l'enquête de clôture
Mémorandum de l'outil de gestion de paquets Python ez_setup
Un mémorandum sur l'utilisation de la fonction d'entrée de Python
Un mémorandum de la vitesse de diagonalisation arbitraire des degrés
Mémorandum des débutants en python
Compréhension complète de la programmation orientée objet de Python
Mémorandum de migration avec GORM
Mémorandum du processus de suppression de chaîne python
Un mémorandum de problème lors du formatage des données
Mémorandum de sed
Un mémorandum sur l'appel de Python à partir de Common Lisp
Un mémorandum d'étude et de mise en œuvre du Deep Learning
Mémorandum d'extraction par requête python bs4
Écrire une note sur la version python de python virtualenv
Parler du transfert des paramètres de tableau vers le QueryDict de django
Un mémorandum sur la bibliothèque de wrapper Python tesseract
[Python] Une compréhension approximative du module de journalisation
[Commande Linux] Un mémorandum des commandes fréquemment utilisées
[Python] Une compréhension approximative des itérables, des itérateurs et des générateurs
Mémorandum de base de Django
Mémorandum sur la validation
À propos du ProxyModel de Django
Liste des endroits sur lesquels je suis tombé lors du téléchargement d'images à partir de Django
Un résumé divers de ce que j'ai recherché sur Ansible
[PyTorch] Un peu de compréhension de CrossEntropyLoss avec des formules mathématiques
Analyse des données de mesure ①-Mémorandum de montage scipy-
Mémorandum de construction de l'environnement de la bibliothèque AutoML PyCaret
Une histoire sur le changement du nom principal de BlueZ
Un mémorandum sur la mise en œuvre des recommandations en Python
Mémorandum de fastText (édition)
mémorandum de commande vi
À propos de tout numpy
À propos de l'attribution de numpy.ndarray
À propos de MultiIndex of Pandas
Une note sur __call__
Une note sur le sous-processus
À propos de la variable du chainer
Une note sur mprotect (2)
Un mémorandum où je suis tombé sur mon HEROKU & Python personnel (Flask)
Une note sur le comportement de bowtie2 lors de plusieurs coups
[Introduction à AWS] Mémorandum de création d'un serveur Web sur AWS
Une histoire de regroupement de données de séries chronologiques d'échange