web-dev-qa-db-fra.com

Django: en utilisant <select multiple> et POST

J'utilise quelque chose comme ça dans mon modèle

<select multiple="multiple"  name="services" id="services" size="5">
    {% for service in services %}
        <option value="{{service.id}}">{{service}}</option>
    {% endfor %}
</select>

Lorsque je visualise les données POST dans Firebug ou dans le débogage de Django, je vois que cela n'envoie qu'une seule valeur. Est-ce que je fais quelque chose de mal ou comprend mal un concept?

53
neoice
request.POST.getlist('services')
128

Juste pour votre information, je devais utiliser:

    list = request.POST.getlist("items[]")

car le fait d’omettre [] a renvoyé une liste vide à la place des valeurs correctes. J'utilise jQuery pour récupérer les valeurs d'un élément de sélection multiple et jQuery semble ajouter le [] 

9
electromechanick

Fais attention! La méthode getlist de QueryDict renvoie une liste vide si la clé n'existe pas. Il ne jette pas une exception. http://bit.ly/MdgrUH

1
ady

request.POST.getlist ('services')

Travaillé pour moi ou vous pouvez définir le nom de la boîte de sélection en tant que liste 

0
Projesh Bhoumik

vous pouvez obtenir la liste attendue simplement en utilisant ...

request.POST.getlist('fiel_name')
0
Javed