  The example above shows a full ``from_db()`` implementation to clarify how that
  is done. In this case it would of course be possible to just use ``super()`` call
  in the ``from_db()`` method.
  
  Refreshing objects from database
  ================================
  
  .. method:: Model.refresh_from_db(using=None, fields=None, **kwargs)
  
  If you need to reload a model's values from the database, you can use the
 
</s> remove ``field_names`` are in the same order as the ``values``, so it is possible to
use ``cls(**(zip(field_names, values)))`` to instantiate the object. If all
of the model's fields are present, then ``values`` are guaranteed to be in
the order ``__init__()`` expects them. That is, the instance can be created
by ``cls(*values)``. It is possible to check if all fields are present by
consulting ``cls._deferred`` - if ``False``, then all fields have been loaded
from the database.
 </s> add ``field_names`` are in the same order as the ``values``. If all of the model's
fields are present, then ``values`` are guaranteed to be in the order
``__init__()`` expects them. That is, the instance can be created by
``cls(*values)``. If any fields are deferred, they won't appear in
``field_names``. In that case, assign a value of ``django.db.models.DEFERRED``
to each of the missing fields. </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) </s> remove                 if self.object._deferred:
                    object_meta = self.object._meta.proxy_for_model._meta
 </s> add 
.. versionchanged:: 1.10

    In older versions, you could check if all fields were loaded by consulting
    ``cls._deferred``. This attribute is removed and
    ``django.db.models.DEFERRED`` is new.

  The example above shows a full ``from_db()`` implementation to clarify how that
  is done. In this case it would of course be possible to just use ``super()`` call
  in the ``from_db()`` method.
  
.. versionchanged:: 1.10

    In older versions, you could check if all fields were loaded by consulting
    ``cls._deferred``. This attribute is removed and
    ``django.db.models.DEFERRED`` is new.

  Refreshing objects from database
  ================================
  
  .. method:: Model.refresh_from_db(using=None, fields=None, **kwargs)
  
  If you need to reload a model's values from the database, you can use the
keep keep keep add keep keep keep keep keep keep
 Fixed #26207 -- Replaced dynamic classes with non-data descriptors for deferred instance loading. 
docs/ref/models/instances.txt