diff options
Diffstat (limited to 'lib/sqlalchemy/engine/default.py')
-rw-r--r-- | lib/sqlalchemy/engine/default.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index dfeefa337..f716d06f5 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -371,7 +371,7 @@ class DefaultExecutionContext(base.ExecutionContext): else: val = drunner.get_column_onupdate(c) if val is not None: - param[c.key] = val + param[self.compiled.binds[c.key].key] = val self.compiled_parameters = params else: @@ -385,12 +385,15 @@ class DefaultExecutionContext(base.ExecutionContext): val = drunner.get_column_onupdate(c) if val is not None: - compiled_parameters[c.key] = val + compiled_parameters[self.compiled.binds[c.key].key] = val if self.isinsert: - self._last_inserted_ids = [compiled_parameters.get(c.key, None) for c in self.compiled.statement.table.primary_key] - self._last_inserted_params = compiled_parameters + self._last_inserted_ids = [ + k and compiled_parameters.get(k.key, None) or None for k in + [self.compiled.binds.get(c.key, None) for c in self.compiled.statement.table.primary_key] + ] + self._last_inserted_params = dict([(key, compiled_parameters[self.compiled.bind_names[b]]) for key, b in self.compiled.binds.iteritems()]) else: - self._last_updated_params = compiled_parameters + self._last_updated_params = dict([(key, compiled_parameters[self.compiled.bind_names[b]]) for key, b in self.compiled.binds.iteritems()]) self.postfetch_cols = self.compiled.postfetch |