﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
27559	Admin changelist turns GET QueryDict into dict which may lose parameters	Jonas von Poser		"We implemented a custom SimpleListFilter for the admin which presents the choices as a list of checkboxes. Pressing ""submit"" sends the list to the backend for filtering.

Unfortunately, this doesn't really work well and it took us a while to find out why: the `ChangeList` view turns `request.GET` (a `QueryDict`) [https://github.com/django/django/blob/master/django/contrib/admin/views/main.py#L67 into a dict].

This means, a query string in the form of `?q=123&state=1&state=2` simply loses all state values except the last one. It still works in principle but as soon as you e.g. click on a column heading to re-sort, the link only shows the last value instead of all of them.

I checked the git log and traced this re-casting back to the ""[https://github.com/django/django/commit/9dda4abee1225db7a7b195b84c915fdd141a7260#diff-ea7d8c684e252f3dad6aa458df7d3070R109 NEW ADMIN MERGE]"" in 2005. It was probably done to be able to manipulate the parameters but seems to be a very lossy operation for this purpose.

Shouldn't `self.params` rather be kept as a `QueryDict`? We'll get started on a pull request if there's interest.

([https://groups.google.com/forum/#!topic/django-developers/dxEAq8_DSeM Asked on django-developers])"	Cleanup/optimization	closed	contrib.admin	dev	Normal	duplicate		Ling-Xiao Yang	Unreviewed	0	0	0	0	0	0
