diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-12-01 23:00:05 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-12-01 23:00:05 +0000 |
| commit | c6d01a56e168f1c70461c2684c70a2c5967c4814 (patch) | |
| tree | 513ee62c991b99542dd6c6cf846dbed2c1503b71 /lib/sqlalchemy/orm/sync.py | |
| parent | ebb4b02c2136b3a71989867a52665e34bdfd4236 (diff) | |
| download | sqlalchemy-c6d01a56e168f1c70461c2684c70a2c5967c4814.tar.gz | |
- several ORM attributes have been removed or made private:
mapper.get_attr_by_column(), mapper.set_attr_by_column(),
mapper.pks_by_table, mapper.cascade_callable(),
MapperProperty.cascade_callable(), mapper.canload()
- refinements to mapper PK/table column organization, session cascading,
some naming convention work
Diffstat (limited to 'lib/sqlalchemy/orm/sync.py')
| -rw-r--r-- | lib/sqlalchemy/orm/sync.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/sync.py b/lib/sqlalchemy/orm/sync.py index 9575aa958..8132c7e4a 100644 --- a/lib/sqlalchemy/orm/sync.py +++ b/lib/sqlalchemy/orm/sync.py @@ -115,10 +115,12 @@ class SyncRule(object): #print "SyncRule", source_mapper, source_column, dest_column, dest_mapper def dest_primary_key(self): + # late-evaluating boolean since some syncs are created + # before the mapper has assembled pks try: return self._dest_primary_key except AttributeError: - self._dest_primary_key = self.dest_mapper is not None and self.dest_column in self.dest_mapper.pks_by_table[self.dest_column.table] and not self.dest_mapper.allow_null_pks + self._dest_primary_key = self.dest_mapper is not None and self.dest_column in self.dest_mapper._pks_by_table[self.dest_column.table] and not self.dest_mapper.allow_null_pks return self._dest_primary_key def execute(self, source, dest, obj, child, clearkeys): @@ -131,7 +133,7 @@ class SyncRule(object): value = None clearkeys = True else: - value = self.source_mapper.get_attr_by_column(source, self.source_column) + value = self.source_mapper._get_attr_by_column(source, self.source_column) if isinstance(dest, dict): dest[self.dest_column.key] = value else: @@ -140,7 +142,7 @@ class SyncRule(object): if logging.is_debug_enabled(self.logger): self.logger.debug("execute() instances: %s(%s)->%s(%s) ('%s')" % (mapperutil.instance_str(source), str(self.source_column), mapperutil.instance_str(dest), str(self.dest_column), value)) - self.dest_mapper.set_attr_by_column(dest, self.dest_column, value) + self.dest_mapper._set_attr_by_column(dest, self.dest_column, value) SyncRule.logger = logging.class_logger(SyncRule) |
