diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-12-17 14:19:22 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-12-17 14:19:22 -0500 |
commit | 2e7a54d6fbfe9260887a0eb848e296e3b5e59c47 (patch) | |
tree | 66b121a8a3a984e676acf47997ac119878d7ccd1 /lib/sqlalchemy/orm/mapper.py | |
parent | b5f3648188ee46e7c0353d3123f8ed6d55f31b56 (diff) | |
parent | ba964522e15da9062f5ed11e8bf55a0b5fb54693 (diff) | |
download | sqlalchemy-2e7a54d6fbfe9260887a0eb848e296e3b5e59c47.tar.gz |
merge tip
Diffstat (limited to 'lib/sqlalchemy/orm/mapper.py')
-rw-r--r-- | lib/sqlalchemy/orm/mapper.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index 2b050ebff..48c37f80d 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -519,7 +519,7 @@ class Mapper(object): "key columns for mapped table '%s'" % (self, self.mapped_table.description)) - self.primary_key = primary_key + self.primary_key = tuple(primary_key) self._log("Identified primary key columns: %s", primary_key) def _configure_properties(self): @@ -1287,8 +1287,13 @@ class Mapper(object): def _get_committed_state_attr_by_column(self, state, dict_, column, passive=False): - return self._columntoproperty[column]._getcommitted( - state, dict_, column, passive=passive) + + prop = self._columntoproperty[column] + value = state.manager[prop.key].impl.\ + get_committed_value(state, dict_, passive=passive) + if prop.get_col_value: + value = prop.get_col_value(column, value) + return value def _optimized_get_statement(self, state, attribute_names): """assemble a WHERE clause which retrieves a given state by primary |