2010-08-23 5 views
1

Sans utiliser Ajax, il existe un moyen d'obtenir la valeur d'un élément sélectionné. Ainsi, par exemple, si je la liste déroulante ci-dessous:Récupère la valeur de l'option sélectionnée ModelChoiceField

<select name="controllers" id="id_controllers"> 
<option value="" selected="selected">---------</option> 
<option value="1">http://przemeklach.com/api/firstOrder/przemeksController</option> 
<option value="5">http://przemeklach.com/api/zeroOrder/ronsController</option> 
</select> 

Comment puis-je obtenir à la « valeur » à mon avis. Je sais que je peux obtenir le « http://przemeklach.com/api/firstOrder/przemeksController » partie par

controller = form.cleaned_data['controllers'] 

mais je dois aussi la « valeur » dans ce cas 1.

Merci.

Répondre

1

Grattez l'ancienne réponse (ci-dessous), les données nettoyées contiennent des références d'objet. Vous pouvez obtenir l'ID en vous référant aux méthodes de modélisation.

Vous pouvez obtenir l'ID à partir de form.data['controllers'] mais il a besoin d'une vérification d'intégrité (dans ce cas, il doit s'agir d'un int). Bien sûr, si le is_valid() renvoie True, il doit être l'un des identifiants disponibles dans le jeu de requête fourni lors de la définition du champ.

Questions connexes