              self.cache_name = field.get_cache_name()
              if field.unique:
                  self.reverse_cache_name = field.remote_field.get_cache_name()
  
      def get_deferred_cls(self, klass_info, init_list):
          model_cls = klass_info['model']
          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)
          return model_cls
  
      def populate(self, row, from_obj):
          if self.reorder_for_init:
              obj_data = self.reorder_for_init(row)
          else:
              obj_data = row[self.cols_start:self.cols_end]
 
</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                 model_cls = deferred_class_factory(self.model, skip)
            else:
                model_cls = self.model
 </s> add             model_cls = self.model </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  </s> remove         if cls._deferred:
            new = cls(**dict(zip(field_names, values)))
        else:
            new = cls(*values)
 </s> add         if len(values) != len(cls._meta.concrete_fields):
            values = list(values)
            values.reverse()
            values = [values.pop() if f.attname in field_names else DEFERRED for f in cls._meta.concrete_fields]
        new = cls(*values) </s> remove         # default implementation of from_db() (could be replaced
        # with super())
        if cls._deferred:
            instance = cls(**zip(field_names, values))
        else:
            instance = cls(*values)
 </s> add         # Default implementation of from_db() (subject to change and could
        # be replaced with super()).
        if len(values) != len(cls._meta.concrete_fields):
            values = list(values)
            values.reverse()
            values = [
                values.pop() if f.attname in field_names else DEFERRED
                for f in cls._meta.concrete_fields
            ]
        new = cls(*values)
              self.cache_name = field.get_cache_name()
              if field.unique:
                  self.reverse_cache_name = field.remote_field.get_cache_name()
  











      def populate(self, row, from_obj):
          if self.reorder_for_init:
              obj_data = self.reorder_for_init(row)
          else:
              obj_data = row[self.cols_start:self.cols_end]
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Fixed #26207 -- Replaced dynamic classes with non-data descriptors for deferred instance loading. 
django/db/models/query.py