From bdcc6e92aee1df4861e50b518fdeac76c40daece Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 22 Feb 2006 06:29:05 +0000 Subject: [PATCH] more fix to one-to-one: 'unchanged_items' can be [None] also with one to one so check for this during delete --- lib/sqlalchemy/mapping/properties.py | 5 +++-- 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 d03069f1ec..c8f56746da 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 77c38ff2a5..9ff330c926 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() -- 2.47.2