diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/expressions.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/django/db/models/expressions.py b/django/db/models/expressions.py index 30d44650ec..181a04493f 100644 --- a/django/db/models/expressions.py +++ b/django/db/models/expressions.py @@ -1624,6 +1624,15 @@ class Exists(Subquery): sql = "CASE WHEN {} THEN 1 ELSE 0 END".format(sql) return sql, params + def as_sql(self, compiler, *args, **kwargs): + try: + return super().as_sql(compiler, *args, **kwargs) + except EmptyResultSet: + features = compiler.connection.features + if not features.supports_boolean_expr_in_select_clause: + return "1=0", () + return compiler.compile(Value(False)) + @deconstructible(path="django.db.models.OrderBy") class OrderBy(Expression): |
