Commit f3c9a16a authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

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.
parent 69f4856f
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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):