diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2022-03-23 16:58:12 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci3.zzzcomputing.com> | 2022-03-23 16:58:12 +0000 |
| commit | 675d11f113b3eb5a931d8dfb31328feee2080c27 (patch) | |
| tree | 23e3c4001cd659a4a257691b1b85be96ea06e8d0 /lib | |
| parent | c565c470517e1cc70a7f33d1ad3d3256935f1121 (diff) | |
| parent | d051645463b169bf1535459653eff247cb772e62 (diff) | |
| download | sqlalchemy-675d11f113b3eb5a931d8dfb31328feee2080c27.tar.gz | |
Merge "trust user PK argument as given; don't reduce" into main
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sqlalchemy/orm/mapper.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index 011e7d2ef..7d1fc7643 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -1368,17 +1368,17 @@ class Mapper( # that of the inheriting (unless concrete or explicit) self.primary_key = self.inherits.primary_key else: - # determine primary key from argument or persist_selectable pks - - # reduce to the minimal set of columns + # determine primary key from argument or persist_selectable pks if self._primary_key_argument: - primary_key = sql_util.reduce_columns( - [ - self.persist_selectable.corresponding_column(c) - for c in self._primary_key_argument - ], - ignore_nonexistent_tables=True, - ) + primary_key = [ + self.persist_selectable.corresponding_column(c) + for c in self._primary_key_argument + ] else: + # if heuristically determined PKs, reduce to the minimal set + # of columns by eliminating FK->PK pairs for a multi-table + # expression. May over-reduce for some kinds of UNIONs + # / CTEs; use explicit PK argument for these special cases primary_key = sql_util.reduce_columns( self._pks_by_table[self.persist_selectable], ignore_nonexistent_tables=True, |
