Django - résultats de la Requête comme associatif dict?
Je me demandais si il y avait une pratique d'assistance dans Django qui permettrait le retour des résultats d'une requête dans un plus "utilisable" format donc je n'ai pas d'itérer à travers eux, à mon avis.
J'ai une requête comme ceci:
self.filter(key__in=keys).values('key','value')
Ce que je veux à la fin, est un objet qui ressemble à
{'some_key':'some value', 'some_other_key':'some_other_value'}
Donc, dans mon modèle je pourrais faire quelque chose comme ceci:
settings = Setting.objects.get_keys(['some_setting','some_other_setting'])
print settings.some_setting # returns 'some value'
Où "get_keys' est un gestionnaire de fonction qui s'exécute au-dessus du filtre de requête. Une idée de comment je pourrait le faire? Je ne serais pas opposé à une itération à travers les résultats dans le Gestionnaire des Paramètres, car je risque de les stocker pour plus tard... je ne pouvais comprendre notre façon de créer un 'global' variable du modèle.
Toute aide serait grandement appréciée!
OriginalL'auteur Hanpan | 2011-01-24
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez
values_list
plutôt quevalues
, il sera de retour un ensemble de deux n-uplets, que vous pouvez ensuite passer àdict()
pour créer un dictionnaire:OriginalL'auteur Daniel Roseman
Je pense que ce que vous cherchez est: http://docs.djangoproject.com/en/stable/ref/models/querysets/#in-bulk
Cette fonction prend une liste de clés primaires et retour d'un dictionnaire des modèles cartographiés à l'aide des touches. Cela ressemble à ce qui est exactement ce que vous voulez?
/stable/
au lieu d'une version spécifique nombre de point toujours à la documentation pour la dernière version stableOriginalL'auteur Exelian