diff options
Diffstat (limited to 'lib/sqlalchemy/mapping/mapper.py')
-rw-r--r-- | lib/sqlalchemy/mapping/mapper.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/sqlalchemy/mapping/mapper.py b/lib/sqlalchemy/mapping/mapper.py index eb54e0301..597214220 100644 --- a/lib/sqlalchemy/mapping/mapper.py +++ b/lib/sqlalchemy/mapping/mapper.py @@ -174,7 +174,10 @@ class Mapper(object): ): objectstore.global_attributes.reset_class_managed(self.class_) self._init_class() - + self.identitytable = self.primarytable + else: + self.identitytable = class_mapper(self.class_).table + if inherits is not None: for key, prop in inherits.props.iteritems(): if not self.props.has_key(key): @@ -678,10 +681,9 @@ class Mapper(object): for key, value in self.props.iteritems(): value.setup(key, statement, **kwargs) return statement - def _identity_key(self, row): - return objectstore.get_row_key(row, self.class_, self.primarytable, self.pks_by_table[self.table]) + return objectstore.get_row_key(row, self.class_, self.identitytable, self.pks_by_table[self.table]) def _instance(self, row, imap, result = None, populate_existing = False): """pulls an object instance from the given row and appends it to the given result |