Fixed QueryDict.setlistdefault.
It was broken by a seemingly innocuous change in MultiValueDict. Document the pitfall for now. This is fragile and should be considered for refactoring.
This commit is contained in:
parent
69f4856f23
commit
f3c9a16a42
|
@ -339,7 +339,8 @@ class MultiValueDict(dict):
|
||||||
def setdefault(self, key, default=None):
|
def setdefault(self, key, default=None):
|
||||||
if key not in self:
|
if key not in self:
|
||||||
self[key] = default
|
self[key] = default
|
||||||
return default
|
# Do not return default here because __setitem__() may store
|
||||||
|
# another value -- QueryDict.__setitem__() does. Look it up.
|
||||||
return self[key]
|
return self[key]
|
||||||
|
|
||||||
def setlistdefault(self, key, default_list=None):
|
def setlistdefault(self, key, default_list=None):
|
||||||
|
@ -347,7 +348,8 @@ class MultiValueDict(dict):
|
||||||
if default_list is None:
|
if default_list is None:
|
||||||
default_list = []
|
default_list = []
|
||||||
self.setlist(key, default_list)
|
self.setlist(key, default_list)
|
||||||
return default_list
|
# Do not return default_list here because setlist() may store
|
||||||
|
# another value -- QueryDict.setlist() does. Look it up.
|
||||||
return self.getlist(key)
|
return self.getlist(key)
|
||||||
|
|
||||||
def appendlist(self, key, value):
|
def appendlist(self, key, value):
|
||||||
|
|
Loading…
Reference in New Issue