From d355ea021dc51f4765524ec24f78dd03a7be8d8a Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 2 Nov 2007 18:05:06 +0000 Subject: - extra merge test - merge with dont_load also propagates _state.modified --- lib/sqlalchemy/orm/properties.py | 1 - lib/sqlalchemy/orm/session.py | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/sqlalchemy') diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index 1e6be1f7d..f2a60315c 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -292,7 +292,6 @@ class PropertyLoader(StrategizedProperty): for current in list(childlist): obj = session.merge(current, entity_name=self.mapper.entity_name, dont_load=dont_load, _recursive=_recursive) if obj is not None: - #dest_list.append_without_event(obj) dest_list.append_with_event(obj) else: current = list(childlist)[0] diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index 30e97eba7..0b5744778 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -879,6 +879,8 @@ class Session(object): raise exceptions.AssertionError("Instance %s has an instance key but is not persisted" % mapperutil.instance_str(object)) for prop in mapper.iterate_properties: prop.merge(self, object, merged, dont_load, _recursive) + if dont_load: + merged._state.modified = object._state.modified if key is None: self.save(merged, entity_name=mapper.entity_name) return merged -- cgit v1.2.1