          Returns a set containing names of deferred fields for this instance.
          """
          return {
              f.attname for f in self._meta.concrete_fields
              if isinstance(self.__class__.__dict__.get(f.attname), DeferredAttribute)
          }
  
      def refresh_from_db(self, using=None, fields=None, **kwargs):
          """
          Reloads field values from the database.
 
</s> remove         elif self._deferred:
            deferred_fields = self.get_deferred_fields()
 </s> add         elif deferred_fields: </s> remove         count = 0
        for field in obj._meta.fields:
            if isinstance(obj.__class__.__dict__.get(field.attname), DeferredAttribute):
                count += 1
 </s> add         count = len(obj.get_deferred_fields()) </s> remove     def __set__(self, instance, value):
        """
        Deferred loading attributes can be set normally (which means there will
        never be a database lookup involved.
        """
        instance.__dict__[self.field_name] = value

 </s> add  </s> remove         if self.model._deferred:
            # Deferred model will not be found from the app registry. This
            # could be fixed by reconstructing the deferred model on unpickle.
            raise RuntimeError("Fields of deferred models can't be reduced")
 </s> add 
            if f.attname not in self.__dict__
          Returns a set containing names of deferred fields for this instance.
          """
          return {
              f.attname for f in self._meta.concrete_fields
            if f.attname not in self.__dict__
          }
  
      def refresh_from_db(self, using=None, fields=None, **kwargs):
          """
          Reloads field values from the database.
keep keep keep keep replace keep keep keep keep keep
 Fixed #26207 -- Replaced dynamic classes with non-data descriptors for deferred instance loading. 
django/db/models/base.py