Récupérer le contenu d'une variable en python et l'utiliser
Bonjour,
Je débute dans le développement avec Python et
Je voudrais récupérer le contenu d'un variable et l'utiliser, mais disons sans faire référence à la variable. Je sais que ça parait un peu superflu je vais illustrer
En somme, j'ai une variable :
et je voudrais utiliser son contenu, donc état ici ==>
Puisque si j'utilise
je voulais utiliser
Que faire?
Merci beaucoup de m'aider :-)
Je débute dans le développement avec Python et
djangoet je butte sur un problème.
Je voudrais récupérer le contenu d'un variable et l'utiliser, mais disons sans faire référence à la variable. Je sais que ça parait un peu superflu je vais illustrer
En somme, j'ai une variable :
maVar = etat
et je voudrais utiliser son contenu, donc état ici ==>
demandes = Demande.objects.filter(etat = none)
Puisque si j'utilise
maVar, cela créera une erreur vu que
maVarn'est pas une propriété de
Demande.
je voulais utiliser
.getattr()mais il prend en paramètre deux valeurs.
Que faire?
Merci beaucoup de m'aider :-)
1 réponse
-
Bonjour,
Je pas compris ta question. Dans ton exemple la variabledemandes
.
Voyons si tu as bien compris ce que signifiedemandes = Demande.objects.filter(etat = None)
. Ici tu as un classeDemande
qui possède un attribut statique (.objects
). Cet attribut est d'un certain type, et ce type possède une méthodefilter
. Ici tel que tu l'as écrit, cette méthode ne possède aucun paramètre obligatoire, et un paramètre optionnel nomm" "etat" que tu as spécifié comme étant égal àNone
(avec un N majuscule, en python).
Le nometat
coïncide soit avec le nom d'un des paramètres déclarés dans la méthodefilter()
, soit cette méthode utilise des listes de paramètres abstraites (voir en python*args
et**kwargs
). Si on regarde dans la documentation django, on est apparamment dans ce second cas.
J'en déduis donc que dans ton codeDemande.objects
correspond à unQuerySet
qui contient une série d'objets python qui possèdent un attributetat
par exemple :
class MonType: def __init__(self): self.etat = 7 x = MonType() print(x.etat) # Affiche 7 print(getattr(x, "etat")) # Affiche 7 aussi
Donc première question, est-ce bien le cas ? Une manière de voir serait de regarder le type des objets que tu as dans tonQuerySet
et t'assurer que ce type possède bien un attribut appeléetat
.
Ensuite