          # Use provided fields, if not set then reload all non-deferred fields.
          if fields is not None:
              fields = list(fields)
              db_instance_qs = db_instance_qs.only(*fields)
          elif self._deferred:
              deferred_fields = self.get_deferred_fields()
              fields = [f.attname for f in self._meta.concrete_fields
                        if f.attname not in deferred_fields]
              db_instance_qs = db_instance_qs.only(*fields)
  
          db_instance = db_instance_qs.get()
 
</s> remove         if self._deferred:
            non_deferred_model = self._meta.proxy_for_model
        else:
            non_deferred_model = self.__class__
        db_instance_qs = non_deferred_model._default_manager.using(db).filter(pk=self.pk)
 </s> add         db_instance_qs = self.__class__._default_manager.using(db).filter(pk=self.pk) </s> remove                 model_cls = deferred_class_factory(self.model, skip)
            else:
                model_cls = self.model
 </s> add             model_cls = self.model </s> remove         if len(init_list) != len(model_cls._meta.concrete_fields):
            init_set = set(init_list)
            skip = [f.attname for f in model_cls._meta.concrete_fields
                    if f.attname not in init_set]
            model_cls = deferred_class_factory(model_cls, skip)
 </s> add  </s> remove             deferred_fields = [
                f.attname for f in self._meta.fields
                if (f.attname not in self.__dict__ and
                    isinstance(self.__class__.__dict__[f.attname], DeferredAttribute))
            ]

 </s> add 
        elif deferred_fields:
          # Use provided fields, if not set then reload all non-deferred fields.
          if fields is not None:
              fields = list(fields)
              db_instance_qs = db_instance_qs.only(*fields)
        elif deferred_fields:
        elif deferred_fields:
              fields = [f.attname for f in self._meta.concrete_fields
                        if f.attname not in deferred_fields]
              db_instance_qs = db_instance_qs.only(*fields)
  
          db_instance = db_instance_qs.get()
keep keep keep keep replace replace keep keep keep keep keep
 Fixed #26207 -- Replaced dynamic classes with non-data descriptors for deferred instance loading. 
django/db/models/base.py