diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-12-20 16:41:26 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-12-20 16:41:26 -0500 |
| commit | 199c7fb92c13e0957843429ba7295d91c4d266bf (patch) | |
| tree | 81212470fcec3e66588222ddf55e80520cb9d37c /lib/sqlalchemy/orm/sync.py | |
| parent | 11f2bdff3171470a899ef684d2b833415ce791e5 (diff) | |
| download | sqlalchemy-199c7fb92c13e0957843429ba7295d91c4d266bf.tar.gz | |
- with composites gone all the get_col_value crap is gone too
Diffstat (limited to 'lib/sqlalchemy/orm/sync.py')
| -rw-r--r-- | lib/sqlalchemy/orm/sync.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/sqlalchemy/orm/sync.py b/lib/sqlalchemy/orm/sync.py index 6b6aeff9b..656cbaae8 100644 --- a/lib/sqlalchemy/orm/sync.py +++ b/lib/sqlalchemy/orm/sync.py @@ -12,14 +12,21 @@ from sqlalchemy.orm import exc, util as mapperutil def populate(source, source_mapper, dest, dest_mapper, synchronize_pairs, uowcommit, flag_cascaded_pks): + source_dict = source.dict + dest_dict = dest.dict + for l, r in synchronize_pairs: try: - value = source_mapper._get_state_attr_by_column(source, source.dict, l) + # inline of source_mapper._get_state_attr_by_column + prop = source_mapper._columntoproperty[l] + value = source.manager[prop.key].impl.get(source, source_dict, False) except exc.UnmappedColumnError: _raise_col_to_prop(False, source_mapper, l, dest_mapper, r) try: - dest_mapper._set_state_attr_by_column(dest, dest.dict, r, value) + # inline of dest_mapper._set_state_attr_by_column + prop = dest_mapper._columntoproperty[r] + dest.manager[prop.key].impl.set(dest, dest_dict, value, None) except exc.UnmappedColumnError: _raise_col_to_prop(True, source_mapper, l, dest_mapper, r) |
