diff --git a/django/utils/datastructures.py b/django/utils/datastructures.py index f27bc1cfff..818731ba04 100644 --- a/django/utils/datastructures.py +++ b/django/utils/datastructures.py @@ -266,6 +266,14 @@ class MultiValueDict(dict): """ return [(key, self[key]) for key in self.keys()] + def iteritems(self): + """ + Yields (key, value) pairs, where value is the last item in the list + associated with the key. + """ + for key in self.keys(): + yield (key, self[key]) + def lists(self): """Returns a list of (key, list) pairs.""" return super(MultiValueDict, self).items() diff --git a/tests/regressiontests/datastructures/tests.py b/tests/regressiontests/datastructures/tests.py index 62c57bc019..f5d5b91d3d 100644 --- a/tests/regressiontests/datastructures/tests.py +++ b/tests/regressiontests/datastructures/tests.py @@ -42,6 +42,8 @@ MergeDict can merge MultiValueDicts 'Simon' >>> d.getlist('name') ['Adrian', 'Simon'] +>>> list(d.iteritems()) +[('position', 'Developer'), ('name', 'Simon')] >>> d['lastname'] Traceback (most recent call last): ...