﻿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
28037	Inconsistency on QueryDict.items and documentation	Daniel F Moisset	nobody	"There is a multiway inconsistency about the defined behaviour of `QueryDict.items` (a similar thing happens for QueryDict.values`:

* The [https://github.com/django/django/blob/master/django/utils/datastructures.py#L176 current implementation] actually returns a generator object (supporting iteration only)
* The [https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.QueryDict.items documentation] says that it is ""just like the standard dictionary `items()` method"", which in Python3 returns a dict_items object (a [https://docs.python.org/3/library/stdtypes.html#dictionary-view-objects view object], supporting set-like operations)
* But the example in the documentation 2 lines below that show a standard python list (supporting indexing)

I see 2 different was to fix this:
1. Update the documentation and make explicit that a generator is returned and that `Querydict` is a bit different than python dicts
2. Make `QueryDict` behave more like python by returning a set(). This should not break backwards compatibility (a set is more general than a generator), but use more memory (because the set must be fully built instead of generated lazily)

I can provide patches for any of these options, but some core devs recommended me getting an opinion of which is the right solution before moving forward.
"	Uncategorized	new	HTTP handling	dev	Normal				Unreviewed	0	0	0	0	0	0
