From 27b9b3578ddf421f990cd7a2ab7c9635178b210b Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 15 Jun 2010 14:04:13 -0400 Subject: - Can now call make_transient() on an instance that is referenced by parent objects via many-to-one, without the parent's foreign key value getting temporarily set to None - this was a function of the "detect primary key switch" flush handler. It now ignores objects that are no longer in the "persistent" state, and the parent's foreign key identifier is left unaffected. --- lib/sqlalchemy/orm/dependency.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/sqlalchemy/orm') diff --git a/lib/sqlalchemy/orm/dependency.py b/lib/sqlalchemy/orm/dependency.py index ba2ae8889..7a8c4cf70 100644 --- a/lib/sqlalchemy/orm/dependency.py +++ b/lib/sqlalchemy/orm/dependency.py @@ -776,7 +776,7 @@ class DetectKeySwitch(DependencyProcessor): uowcommit, self.passive_updates) def _pks_changed(self, uowcommit, state): - return sync.source_modified(uowcommit, + return state.has_identity and sync.source_modified(uowcommit, state, self.mapper, self.prop.synchronize_pairs) -- cgit v1.2.1