diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-02-22 06:29:05 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-02-22 06:29:05 +0000 |
commit | bdcc6e92aee1df4861e50b518fdeac76c40daece (patch) | |
tree | ed5f24714305706dfe00abecc8e63b02431ed2e8 | |
parent | eb8cd46bf5d64038892c7c2fd3b68c49517d094e (diff) | |
download | sqlalchemy-bdcc6e92aee1df4861e50b518fdeac76c40daece.tar.gz |
more fix to one-to-one: 'unchanged_items' can be [None] also with one to one so check for this
during delete
-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() |