diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-11-10 11:08:52 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-11-10 11:08:52 -0500 |
| commit | 6a688b736429e27a892bc02111414491fe4103b0 (patch) | |
| tree | ee9b30305beaf4dafdaebadf4d459b75f2e0f139 /lib/sqlalchemy/orm/mapper.py | |
| parent | b141f9f3c8c5c7348daff5aa2a30850c3bf673ba (diff) | |
| download | sqlalchemy-6a688b736429e27a892bc02111414491fe4103b0.tar.gz | |
Ensure attribute keys used for bulk update pk set
Fixed bug in :meth:`.Session.bulk_update_mappings` where an alternate-named
primary key attribute would not track properly into the UPDATE statement.
Change-Id: I33e9140f45827772768fa548adcfeb4dbfc2208d
Fixes: #3849
Diffstat (limited to 'lib/sqlalchemy/orm/mapper.py')
| -rw-r--r-- | lib/sqlalchemy/orm/mapper.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index 60848097c..87f2a24b0 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -2020,6 +2020,16 @@ class Mapper(InspectionAttr): ) @_memoized_configured_property + def _pk_attr_keys_by_table(self): + return dict( + ( + table, + frozenset([self._columntoproperty[col].key for col in pks]) + ) + for table, pks in self._pks_by_table.items() + ) + + @_memoized_configured_property def _server_default_cols(self): return dict( ( |
