web-dev-qa-db-de.com

Django: Mit <Mehrere auswählen> und POST

Ich verwende so etwas in meiner Vorlage

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

Wenn ich die POST -Daten in Firebug oder im Django-Debug sehe, wird nur ein Wert gesendet. Mache ich etwas falsch oder missverstehe ich ein Konzept?

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

Nur zu Ihrer Information, ich musste verwenden:

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

weil durch das Auslassen von [] eine leere Liste anstelle der korrekten Werte zurückgegeben wurde. Ich verwende jQuery, um die Werte eines mehrfachen select-Elements abzurufen, und jQuery scheint das [] hinzuzufügen. 

9

Achtung! Die getlist-Methode von QueryDict gibt eine leere Liste zurück, wenn der Schlüssel nicht vorhanden ist. Es wird keine Ausnahme ausgelöst. http://bit.ly/MdgrUH

1
ady

request.POST.getlist ('services')

Arbeitete für mich. oder Sie können den Namen der Auswahlbox als Liste definieren 

0
Projesh Bhoumik

sie können die erwartete Liste einfach erhalten, indem Sie ...

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