<p>使用<code>.getlist(key)</code>:</p>
<pre><code>>>> qd = QueryDict('a=1&a=2') # a simple QueryDict
>>> qd
<QueryDict: {'a': ['1', '2']}>
>>> qd['a'] # example of the problem (last item only)
'2'
>>> qd.get('a') # problem not solved by .get()
'2'
>>> qd.getlist('a') # getlist() solves it!
['1', '2']
</code></pre>
<p><strong>详细信息:</strong></p>
<p>您的字典属于<a href="https://docs.djangoproject.com/en/dev/ref/request-response/#querydict-objects" rel="nofollow noreferrer">^{<cd2>}</a>类型,它“是一个类似字典的类,可以处理同一个键的多个值。”不幸的是,<a href="https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.QueryDict.__getitem__" rel="nofollow noreferrer">^{<cd3>}</a>“只返回最后一个值”。这意味着对<code>someQueryDict[key]</code>的调用不会返回列表,即使有多个值与键关联。在</p>
<p>解决方案是使用<a href="https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.QueryDict.getlist" rel="nofollow noreferrer">^{<cd5>}</a>:</p>
<blockquote>
<p>Returns the data with the requested key, <em>as a Python list</em>. Returns an
empty list if the key doesn’t exist and no default value was provided.
It’s guaranteed to return a list of some sort unless the default value
provided is not a list.</p>
</blockquote>