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):
|
||||
if key not in self:
|
||||
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]
|
||||
|
||||
def setlistdefault(self, key, default_list=None):
|
||||
|
@ -347,7 +348,8 @@ class MultiValueDict(dict):
|
|||
if default_list is None:
|
||||
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)
|
||||
|
||||
def appendlist(self, key, value):
|
||||
|
|
Loading…
Reference in New Issue