The Django docs say at http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.QueryDict.iteritems thatQueryDict.iteritems() uses the same last-value
QueryDict.iteritems()
There is a useful function in django http utils you can use:
>>> from django.utils.http import urlencode >>> print(urlencode({"tag": [1, 2, 3], "sentence":2}, doseq=True)) 'tag=1&tag=2&tag=3&sentence=2'