Skip to content

Commit e4372f1

Browse files
Refs #35972 -- Returned params in a tuple in further expressions.
1 parent 97cab5f commit e4372f1

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

django/db/models/expressions.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,7 @@ def as_sql(self, compiler, connection):
769769
# order of precedence
770770
expression_wrapper = "(%s)"
771771
sql = connection.ops.combine_expression(self.connector, expressions)
772-
return expression_wrapper % sql, expression_params
772+
return expression_wrapper % sql, tuple(expression_params)
773773

774774
def resolve_expression(
775775
self, query=None, allow_joins=True, reuse=None, summarize=False, for_save=False
@@ -835,7 +835,7 @@ def as_sql(self, compiler, connection):
835835
# order of precedence
836836
expression_wrapper = "(%s)"
837837
sql = connection.ops.combine_duration_expression(self.connector, expressions)
838-
return expression_wrapper % sql, expression_params
838+
return expression_wrapper % sql, tuple(expression_params)
839839

840840
def as_sqlite(self, compiler, connection, **extra_context):
841841
sql, params = self.as_sql(compiler, connection, **extra_context)
@@ -1179,8 +1179,8 @@ def as_sql(self, compiler, connection):
11791179
# oracledb does not always convert None to the appropriate
11801180
# NULL type (like in case expressions using numbers), so we
11811181
# use a literal SQL NULL
1182-
return "NULL", []
1183-
return "%s", [val]
1182+
return "NULL", ()
1183+
return "%s", (val,)
11841184

11851185
def as_sqlite(self, compiler, connection, **extra_context):
11861186
sql, params = self.as_sql(compiler, connection, **extra_context)
@@ -1273,7 +1273,7 @@ def __repr__(self):
12731273
return "'*'"
12741274

12751275
def as_sql(self, compiler, connection):
1276-
return "*", []
1276+
return "*", ()
12771277

12781278

12791279
class DatabaseDefault(Expression):
@@ -1313,7 +1313,7 @@ def resolve_expression(
13131313
def as_sql(self, compiler, connection):
13141314
if not connection.features.supports_default_keyword_in_insert:
13151315
return compiler.compile(self.expression)
1316-
return "DEFAULT", []
1316+
return "DEFAULT", ()
13171317

13181318

13191319
class Col(Expression):
@@ -1398,7 +1398,7 @@ def as_sql(self, compiler, connection):
13981398
cols_sql.append(sql)
13991399
cols_params.extend(params)
14001400

1401-
return ", ".join(cols_sql), cols_params
1401+
return ", ".join(cols_sql), tuple(cols_params)
14021402

14031403
def relabeled_clone(self, relabels):
14041404
return self.__class__(
@@ -1447,7 +1447,7 @@ def relabeled_clone(self, relabels):
14471447
return clone
14481448

14491449
def as_sql(self, compiler, connection):
1450-
return connection.ops.quote_name(self.refs), []
1450+
return connection.ops.quote_name(self.refs), ()
14511451

14521452
def get_group_by_cols(self):
14531453
return [self]
@@ -1764,7 +1764,7 @@ def as_sql(
17641764
sql = template % template_params
17651765
if self._output_field_or_none is not None:
17661766
sql = connection.ops.unification_cast_sql(self.output_field) % sql
1767-
return sql, sql_params
1767+
return sql, tuple(sql_params)
17681768

17691769
def get_group_by_cols(self):
17701770
if not self.cases:
@@ -2148,7 +2148,7 @@ def as_sql(self, compiler, connection):
21482148
"end": end,
21492149
"exclude": self.get_exclusion(),
21502150
},
2151-
[],
2151+
(),
21522152
)
21532153

21542154
def __repr__(self):

tests/expressions/tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2504,9 +2504,9 @@ def test_compile_unresolved(self):
25042504
# This test might need to be revisited later on if #25425 is enforced.
25052505
compiler = Time.objects.all().query.get_compiler(connection=connection)
25062506
value = Value("foo")
2507-
self.assertEqual(value.as_sql(compiler, connection), ("%s", ["foo"]))
2507+
self.assertEqual(value.as_sql(compiler, connection), ("%s", ("foo",)))
25082508
value = Value("foo", output_field=CharField())
2509-
self.assertEqual(value.as_sql(compiler, connection), ("%s", ["foo"]))
2509+
self.assertEqual(value.as_sql(compiler, connection), ("%s", ("foo",)))
25102510

25112511
def test_output_field_decimalfield(self):
25122512
Time.objects.create()

0 commit comments

Comments
 (0)