summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sqlalchemy/mapping/properties.py5
-rw-r--r--test/onetoone.py3
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/sqlalchemy/mapping/properties.py b/lib/sqlalchemy/mapping/properties.py
index d03069f1e..c8f56746d 100644
--- a/lib/sqlalchemy/mapping/properties.py
+++ b/lib/sqlalchemy/mapping/properties.py
@@ -455,8 +455,9 @@ class PropertyLoader(MapperProperty):
for obj in deplist:
childlist = getlist(obj, False)
for child in childlist.deleted_items() + childlist.unchanged_items():
- self._synchronize(obj, child, None, True)
- uowcommit.register_object(child, postupdate=self.post_update)
+ if child is not None:
+ self._synchronize(obj, child, None, True)
+ uowcommit.register_object(child, postupdate=self.post_update)
elif self.association is not None:
# manage association objects.
for obj in deplist:
diff --git a/test/onetoone.py b/test/onetoone.py
index 77c38ff2a..9ff330c92 100644
--- a/test/onetoone.py
+++ b/test/onetoone.py
@@ -79,5 +79,8 @@ class O2OTest(testbase.AssertMixin):
self.assert_(p.jack is None)
objectstore.commit()
+ j.delete()
+ objectstore.commit()
+
if __name__ == "__main__":
testbase.main()