2016-06-19 6 views
0

を与え、私はポストの要求と要求を持っているが、以下の値が得られます。request.POST.get(「CATEGORY_ID」)は単一の値に

request.POST 
<QueryDict: {u'csrfmiddlewaretoken': [u'AbyDcwOtSyPwuC1JxeVUKJFk33XhH2us'], u'category_id': [u'15', u'26', u'7', u'8']}> 

を私は、リスト内のCATEGORY_ID内のすべての値たいです。しかし、request.POST.get( 'category_id')で値にアクセスしようとすると、穴のリストではなく最後の値[u'8 ']しか得られません。

私のアプローチは間違っていますか?私がいれば正しい方法は何ですか?

答えて

0

はい、あなたはすべての値を取得するために.getlist()変更.get()する必要があります。

request.POST.getlist('category_id') 

.get()のQueryDict操作:それは複数の値を持っている場合、DjangoのQueryDictオブジェクト上

.get()操作がkeyの最後の値を返します。

QueryDict.__getitem__(key)
指定されたキーの値を返します。 キーに複数の値がある場合は、__getitem__()が最後の値を返します。

.getlist()のQueryDict操作:

あなたが特定のキーのすべての値を取得する必要がある場合は、あなたが.getlist().

QueryDict.getlist(key, default=None)
を使用する必要が要求さ でデータを返します。キー、Pythonのリストとして。キー が存在せず、デフォルト値が指定されていない場合は空のリストを返します。提供されるデフォルト値が リストでない限り、 は何らかの並べ替えのリストを返すことが保証されています。

関連する問題