diff options
-rw-r--r-- | lib/sqlalchemy/mapping/properties.py | 5 | ||||
-rw-r--r-- | test/onetoone.py | 3 |
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() |