Index: django/db/models/manipulators.py
===================================================================
--- django/db/models/manipulators.py	(wersja 7249)
+++ django/db/models/manipulators.py	(kopia robocza)
@@ -170,9 +170,12 @@
                                 pass
 
                     for f in related.opts.fields:
-                        if f.core and not isinstance(f, FileField) and f.get_manipulator_new_data(rel_new_data, rel=True) in (None, ''):
+                        new_data = f.get_manipulator_new_data(rel_new_data, rel=True)
+                        if new_data is not None:
+                            new_data = new_data[0]
+                        if f.core and not isinstance(f, FileField) and new_data in (None, False, ''):
                             all_cores_given = False
-                        elif f.core and not isinstance(f, FileField) and f.get_manipulator_new_data(rel_new_data, rel=True) not in (None, ''):
+                        elif f.core and not isinstance(f, FileField) and new_data not in (None, False, ''):
                             all_cores_blank = False
                         # If this field isn't editable, give it the same value it had
                         # previously, according to the given ID. If the ID wasn't
@@ -189,7 +192,7 @@
                             else:
                                 param = f.get_default()
                         else:
-                            param = f.get_manipulator_new_data(rel_new_data, rel=True)
+                            param = new_data
                         if param != None:
                             params[f.attname] = param
 
