diff options
| author | Tim Graham <timograham@gmail.com> | 2013-07-08 11:05:08 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2013-07-09 06:41:52 -0400 |
| commit | 95eb68c98fe2dc95277d4e26a0316d856dc868dd (patch) | |
| tree | c8e31f3c7c66f062d56e54b1f5124d2b023eb1aa /django/db/models/sql/compiler.py | |
| parent | c0a4894dca4bda0053a56cd677c80340a68c4c95 (diff) | |
Fixed #17339 -- Factor out has_result into database backend.
Thanks jonash.
Diffstat (limited to 'django/db/models/sql/compiler.py')
| -rw-r--r-- | django/db/models/sql/compiler.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py index 0b12bd1552..e17cb3f616 100644 --- a/django/db/models/sql/compiler.py +++ b/django/db/models/sql/compiler.py @@ -750,6 +750,16 @@ class SQLCompiler(object): yield row + def has_results(self): + """ + Backends (e.g. NoSQL) can override this in order to use optimized + versions of "query has any results." + """ + # This is always executed on a query clone, so we can modify self.query + self.query.add_extra({'a': 1}, None, None, None, None, None) + self.query.set_extra_mask(['a']) + return bool(self.execute_sql(SINGLE)) + def execute_sql(self, result_type=MULTI): """ Run the query against the database and returns the result(s). The |
