                  or (rhs_output and rhs_output.get_internal_type() == 'DurationField'))):
              return DurationExpression(self.lhs, self.connector, self.rhs).as_sql(compiler, connection)
          expressions = []
          expression_params = []
          sql, params = compiler.compile(self.lhs)
          expressions.append(sql)
          expression_params.extend(params)
          sql, params = compiler.compile(self.rhs)
 
</s>
        if (lhs_output and rhs_output and self.connector == self.SUB and
            lhs_output.get_internal_type() in {'DateField', 'DateTimeField', 'TimeField'} and
                lhs_output.get_internal_type() == lhs_output.get_internal_type()):
            return TemporalSubtraction(self.lhs, self.rhs).as_sql(compiler, connection)
                  or (rhs_output and rhs_output.get_internal_type() == 'DurationField'))):
              return DurationExpression(self.lhs, self.connector, self.rhs).as_sql(compiler, connection)
        if (lhs_output and rhs_output and self.connector == self.SUB and
            lhs_output.get_internal_type() in {'DateField', 'DateTimeField', 'TimeField'} and
                lhs_output.get_internal_type() == lhs_output.get_internal_type()):
            return TemporalSubtraction(self.lhs, self.rhs).as_sql(compiler, connection)
          expressions = []
          expression_params = []
          sql, params = compiler.compile(self.lhs)
          expressions.append(sql)
          expression_params.extend(params)
          sql, params = compiler.compile(self.rhs)
keep add keep keep keep keep keep keep
 Fixed #24793 -- Unified temporal difference support.
django/db/models/expressions.py