  
  
  class GeoFuncMixin:
      function = None
      output_field_class = None
      geom_param_pos = (0,)
  
      def __init__(self, *expressions, **extra):
          if 'output_field' not in extra and self.output_field_class:
              extra['output_field'] = self.output_field_class()
 
</s> remove         if 'output_field' not in extra and self.output_field_class:
            extra['output_field'] = self.output_field_class()
 </s> add  </s> remove     output_field_class = TextField
 </s> add     output_field = TextField() </s> remove     output_field_class = TextField
 </s> add     output_field = TextField() </s> remove         super().__init__(expression, string, output_field=FloatField(), **extra)
 </s> add         super().__init__(expression, string, **extra)
  
  
  class GeoFuncMixin:
      function = None

      geom_param_pos = (0,)
  
      def __init__(self, *expressions, **extra):
          if 'output_field' not in extra and self.output_field_class:
              extra['output_field'] = self.output_field_class()
keep keep keep keep replace keep keep keep keep keep
 Fixed #28492 -- Defined default output_field of expressions at the class level.

This wasn't possible when settings were accessed during Field initialization
time as our test suite setup script was triggering imports of expressions
before settings were configured. 
django/contrib/gis/db/models/functions.py