summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/mapper.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2020-08-05 17:58:48 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2020-08-05 18:53:17 -0400
commit71a3ccbdef0d88e9231b7de9c51e4ed60b3b7181 (patch)
tree3251bd2b54584f832f7c1f31283ddfb675df3495 /lib/sqlalchemy/orm/mapper.py
parentcc57ea495f6460dd56daa6de57e40047ed999369 (diff)
downloadsqlalchemy-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.py16
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(