From 496f97cd068237af2e519cd9fde49196fc27a55c Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 31 Mar 2021 19:38:10 -0400 Subject: Correct for CTE correspondence w/ aliased CTE Fixed regression where the :func:`_orm.joinedload` loader strategy would not successfully joinedload to a mapper that is mapper against a :class:`.CTE` construct. Fixes: #6172 Change-Id: I667e46d00d4209dab5a89171118a00a7c30fb542 --- lib/sqlalchemy/sql/selectable.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/sqlalchemy/sql') diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index 7c53f437c..a2e5780f8 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -2057,6 +2057,12 @@ class CTE(Generative, HasPrefixes, HasSuffixes, AliasedReturnsRows): self._suffixes = _suffixes super(CTE, self)._init(selectable, name=name) + def _populate_column_collection(self): + if self._cte_alias is not None: + self._cte_alias._generate_fromclause_column_proxies(self) + else: + self.element._generate_fromclause_column_proxies(self) + def alias(self, name=None, flat=False): """Return an :class:`_expression.Alias` of this :class:`_expression.CTE`. -- cgit v1.2.1