From f97a6123c07de5099fdf8b7d00ef7d20ed354e07 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Fri, 15 Nov 2019 00:24:21 -0500 Subject: Refs #25367 -- Made Query.build_filter() raise TypeError on non-conditional expressions. --- django/db/models/sql/query.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'django/db/models/sql/query.py') diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index dcf897c649..8fee6b0183 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -1230,7 +1230,9 @@ class Query(BaseExpression): allow_joins=allow_joins, split_subq=split_subq, ) - if hasattr(filter_expr, 'resolve_expression') and getattr(filter_expr, 'conditional', False): + if hasattr(filter_expr, 'resolve_expression'): + if not getattr(filter_expr, 'conditional', False): + raise TypeError('Cannot filter against a non-conditional expression.') condition = self.build_lookup( ['exact'], filter_expr.resolve_expression(self, allow_joins=allow_joins), True ) -- cgit v1.3