0

フィールドを含むフォームがあります:

item = forms.MultipleChoiceField( widget = forms.CheckboxSelectMultiple, choices=ITEM_CHOICES)

私のビューでの POST 操作で、フォームが戻ってきたとき。form.data['item'] には dict が含まれているはずだと思いましたが、そうではありません。より高い item_value のみを保持します。

POST操作から複数選択を取得するにはどうすればよいですか?

私のviews.pyで

search_items_form = SearchItemsForm( data = request.POST )
if not search_items_form.is_valid():
    ...error...
if 'item' in search_items_form.data:
     item = search_items_form.data['item']

ここで項目は 1 つの値にのみ等しいですが、フィールド フォームでは複数選択フィールドとして設定されていることがわかります。

また、firebugs を見ると、パラメーターが POST 操作であることがわかります: 項目 1 項目 2 項目 3 項目 4

したがって、POST には複数の項目 X が含まれます。

4

1 に答える 1

1

アクセスする必要があります。cleaned_data['item']ではなく、にアクセスする必要がありdata['item']ます。

于 2012-07-26T18:30:11.197 に答える