Index: django/db/models/manipulators.py
===================================================================
--- django/db/models/manipulators.py	(wersja 5086)
+++ django/db/models/manipulators.py	(kopia robocza)
@@ -130,7 +130,7 @@
                         rel_manager.add(f.rel.to._default_manager.get(pk=n))
                     # TODO: Add to 'fields_changed'
 
-        expanded_data = DotExpandedDict(dict(new_data))
+        expanded_data = DotExpandedDict(new_data.todict())
         # Save many-to-one objects. Example: Add the Choice objects for a Poll.
         for related in self.opts.get_all_related_objects():
             # Create obj_list, which is a DotExpandedDict such as this:
Index: django/utils/datastructures.py
===================================================================
--- django/utils/datastructures.py	(wersja 5086)
+++ django/utils/datastructures.py	(kopia robocza)
@@ -232,6 +232,23 @@
                     raise ValueError, "MultiValueDict.update() takes either a MultiValueDict or dictionary"
         for key, value in kwargs.iteritems():
             self.setlistdefault(key, []).append(value)
+    
+    from sys import version_info
+    major, minor = version_info[0], version_info[1]
+    if major==2 and minor>4:
+        def todict(self):
+            return dict(self.lists())
+    else:
+        def todict(self):
+            return dict(self)        
+    del(version_info, major, minor)
+    todict.__doc__ =  """Returns MultiValueDict as dictionary
+                        
+                        >>>MultiValueDict(a=[1,2,3]).todict()
+                        {'a': [1,2,3]}
+                      """
+    
+    
 
 class DotExpandedDict(dict):
     """
