summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2021-03-17 16:31:19 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2021-03-17 16:31:19 +0000
commitce3c1c5dad4296da54df0863d6546090fc9eb20a (patch)
tree8b7b8eabcc288d1c3da5b9079a18b65dcfc3f1d6 /lib
parenta9a31c0fb8454c82fc13ec5312110b812f8e4ce1 (diff)
parent484910a25bdc4ad4bb9d96ee68981a6fb631e1a8 (diff)
downloadsqlalchemy-ce3c1c5dad4296da54df0863d6546090fc9eb20a.tar.gz
Merge "Ensure entity or None returned from _entity_from_pre_ent_zero()"
Diffstat (limited to 'lib')
-rw-r--r--lib/sqlalchemy/orm/query.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py
index bbad6b05a..6a8a2c571 100644
--- a/lib/sqlalchemy/orm/query.py
+++ b/lib/sqlalchemy/orm/query.py
@@ -22,6 +22,7 @@ import itertools
import operator
import types
+from sqlalchemy.sql import visitors
from . import exc as orm_exc
from . import interfaces
from . import loading
@@ -200,7 +201,12 @@ class Query(
elif "bundle" in ent._annotations:
return ent._annotations["bundle"]
else:
- return ent
+ # label, other SQL expression
+ for element in visitors.iterate(ent):
+ if "parententity" in element._annotations:
+ return element._annotations["parententity"]
+ else:
+ return None
def _only_full_mapper_zero(self, methname):
if (