mirror of
https://github.com/django/django.git
synced 2025-08-31 07:47:37 +00:00
Fixed #31773 -- Fixed preserving output_field in ExpressionWrapper for combined expressions.
Thanks Thodoris Sotiropoulos for the report and Simon Charette for the
implementation idea.
Regression in df32fd42b8
.
This commit is contained in:
parent
1d8256719e
commit
8a6df55f2d
2 changed files with 13 additions and 6 deletions
|
@ -858,9 +858,6 @@ class ExpressionWrapper(Expression):
|
|||
|
||||
def __init__(self, expression, output_field):
|
||||
super().__init__(output_field=output_field)
|
||||
if getattr(expression, '_output_field_or_none', True) is None:
|
||||
expression = expression.copy()
|
||||
expression.output_field = output_field
|
||||
self.expression = expression
|
||||
|
||||
def set_source_expressions(self, exprs):
|
||||
|
@ -870,7 +867,9 @@ class ExpressionWrapper(Expression):
|
|||
return [self.expression]
|
||||
|
||||
def get_group_by_cols(self, alias=None):
|
||||
return self.expression.get_group_by_cols(alias=alias)
|
||||
expression = self.expression.copy()
|
||||
expression.output_field = self.output_field
|
||||
return expression.get_group_by_cols(alias=alias)
|
||||
|
||||
def as_sql(self, compiler, connection):
|
||||
return self.expression.as_sql(compiler, connection)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue