From 4a849b670130a6054b8ce0e04faed833dd407a2a Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Tue, 15 Oct 2019 20:55:49 +0200 Subject: [PATCH] Fixed #30859 -- Fixed DatabaseFeatures.supports_aggregate_filter_clause on SQLite 3.30.1+. --- django/db/backends/sqlite3/features.py | 1 + django/db/backends/sqlite3/operations.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/django/db/backends/sqlite3/features.py b/django/db/backends/sqlite3/features.py index 238358bd47..c82be5c30d 100644 --- a/django/db/backends/sqlite3/features.py +++ b/django/db/backends/sqlite3/features.py @@ -43,3 +43,4 @@ class DatabaseFeatures(BaseDatabaseFeatures): supports_functions_in_partial_indexes = Database.sqlite_version_info >= (3, 15, 0) supports_over_clause = Database.sqlite_version_info >= (3, 25, 0) supports_frame_range_fixed_distance = Database.sqlite_version_info >= (3, 28, 0) + supports_aggregate_filter_clause = Database.sqlite_version_info >= (3, 30, 1) diff --git a/django/db/backends/sqlite3/operations.py b/django/db/backends/sqlite3/operations.py index afbd67aa16..ce8fe7209f 100644 --- a/django/db/backends/sqlite3/operations.py +++ b/django/db/backends/sqlite3/operations.py @@ -46,7 +46,7 @@ class DatabaseOperations(BaseDatabaseOperations): for expr in expression.get_source_expressions(): try: output_field = expr.output_field - except FieldError: + except (AttributeError, FieldError): # Not every subexpression has an output_field which is fine # to ignore. pass