﻿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
33204	Make MultiValueDict more consistent	Yaroslav Pankovych	nobody	"I was working with query parameters and found that `.pop()` and `.get()` both have different logic. 

I assume that `.pop()` should be the same as `.get()`, but the key should get deleted afterward. 

Here's an example:

{{{
In [1]: from django.utils.datastructures import MultiValueDict

In [2]: data = MultiValueDict({""name"": [""Yaroslav"", ""Clara""], ""age"": [22, 32]})

In [3]: data.get(""name"")
Out[3]: 'Clara'

In [4]: data.pop(""name"")
Out[4]: ['Yaroslav', 'Clara']
}}}


As you can see, we've got a single item for `.get()`, and a list for `.pop()`, which is confusing. 

We should have all of that synced. `.get()` with `.getlist()`, and `.pop()` with `.poplist()`.

Here's how it looks like after I've done some changes:

{{{
In [4]: data.pop(""name"")
Out[4]: 'Clara'
}}}


{{{
In [5]: data.poplist(""name"")
Out[5]: ['Yaroslav', 'Clara']
}}}


This is breaking change probably."	New feature	closed	HTTP handling	3.2	Normal	wontfix		Yaroslav Pankovych	Unreviewed	0	1	0	0	1	0
