summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/sync.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-12-01 23:00:05 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-12-01 23:00:05 +0000
commitc6d01a56e168f1c70461c2684c70a2c5967c4814 (patch)
tree513ee62c991b99542dd6c6cf846dbed2c1503b71 /lib/sqlalchemy/orm/sync.py
parentebb4b02c2136b3a71989867a52665e34bdfd4236 (diff)
downloadsqlalchemy-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.py8
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)