diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-08-05 17:58:48 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-08-05 18:53:17 -0400 |
commit | 71a3ccbdef0d88e9231b7de9c51e4ed60b3b7181 (patch) | |
tree | 3251bd2b54584f832f7c1f31283ddfb675df3495 /lib/sqlalchemy/orm/mapper.py | |
parent | cc57ea495f6460dd56daa6de57e40047ed999369 (diff) | |
download | sqlalchemy-71a3ccbdef0d88e9231b7de9c51e4ed60b3b7181.tar.gz |
Convert lazy loader, selectinload, load_on_ident to lambda statements
Building on newly robust lambdas in
I29a513c98917b1d503abfdd61e6b6e8800851aa8,
convert key loading off of the "baked" system so that baked
is no longer used by the ORM.
Change-Id: I3abfb45dd6e50f84f29d39434caa0b550ce27864
Diffstat (limited to 'lib/sqlalchemy/orm/mapper.py')
-rw-r--r-- | lib/sqlalchemy/orm/mapper.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index 2b04f1cc7..6d22c6205 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -719,9 +719,8 @@ class Mapper( """ return self - _cache_key_traversal = [ - ("mapper", visitors.ExtendedInternalTraversal.dp_plain_obj), - ] + def _gen_cache_key(self, anon_map, bindparams): + return (self,) @property def entity(self): @@ -2315,6 +2314,17 @@ class Mapper( ) ) + @property + def _all_column_expressions(self): + poly_properties = self._polymorphic_properties + adapter = self._polymorphic_adapter + + return [ + adapter.columns[prop.columns[0]] if adapter else prop.columns[0] + for prop in poly_properties + if isinstance(prop, properties.ColumnProperty) + ] + def _columns_plus_keys(self, polymorphic_mappers=()): if polymorphic_mappers: poly_properties = self._iterate_polymorphic_properties( |