diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-12-06 16:22:31 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-12-06 16:23:44 -0500 |
| commit | 1cbaff643f8d524fc0f7b347f659d18a67884f16 (patch) | |
| tree | b3110534200aaea11e16e3e230783f1e76116ada /lib/sqlalchemy | |
| parent | 76b5981b41618048c4c593bbd9062c34ddc1fa36 (diff) | |
| download | sqlalchemy-1cbaff643f8d524fc0f7b347f659d18a67884f16.tar.gz | |
Disable eager loads for exists()
The :meth:`.Query.exists` method will now disable eager loaders for when
the query is rendered. Previously, joined-eager load joins would be rendered
unnecessarily as well as subquery eager load queries would be needlessly
generated. The new behavior matches that of the :meth:`.Query.subquery`
method.
Fixes: #4032
Change-Id: Iacafc76aa9ae0b71928037fa9637e85ad434ee3a
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/query.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index b3bb5302f..209bb6d6a 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -3066,7 +3066,8 @@ class Query(object): # omitting the FROM clause from a query(X) (#2818); # .with_only_columns() after we have a core select() so that # we get just "SELECT 1" without any entities. - return sql.exists(self.add_columns('1').with_labels(). + return sql.exists(self.enable_eagerloads(False).add_columns('1'). + with_labels(). statement.with_only_columns([1])) def count(self): |
