      null, a new instance will be saved to the database.
  
  .. versionchanged:: 1.6
  
  In previous versions of Django, the ``pk`` attribute had to be present
  on the serialized data or a ``DeserializationError`` would be raised.
  
  This ensures that deserializing is a non-destructive operation even if the
  data in your serialized representation doesn't match what's currently in the
  database. Usually, working with these ``DeserializedObject`` instances looks
  something like::
 
</s> remove If fields in the serialized data do not exist on a model,
a ``DeserializationError`` will be raised unless the ``ignorenonexistent``
argument is passed in as True::
 </s> add     If fields in the serialized data do not exist on a model,
    a ``DeserializationError`` will be raised unless the ``ignorenonexistent``
    argument is passed in as True:: </s> remove     serializers.deserialize("xml", data, ignorenonexistent=True)
 </s> add         serializers.deserialize("xml", data, ignorenonexistent=True) </s> remove Django used to remove the ``cleaned_data`` attribute entirely if there were
any errors in the form. Since version 1.5, ``cleaned_data`` is present even if
the form doesn't validate, but it contains only field values that did
validate.
 </s> add     Django used to remove the ``cleaned_data`` attribute entirely if there were
    any errors in the form. Since version 1.5, ``cleaned_data`` is present even if
    the form doesn't validate, but it contains only field values that did
    validate. </s> remove     Raises :exc:`InvalidPage` if previous page doesn't exist.
 </s> add         Raises :exc:`InvalidPage` if previous page doesn't exist. </s> remove When the :func:`atomic` decorator is nested, it creates a savepoint to allow
partial commit or rollback. You're strongly encouraged to use :func:`atomic`
rather than the functions described below, but they're still part of the
public API, and there's no plan to deprecate them.
 </s> add     When the :func:`atomic` decorator is nested, it creates a savepoint to allow
    partial commit or rollback. You're strongly encouraged to use :func:`atomic`
    rather than the functions described below, but they're still part of the
    public API, and there's no plan to deprecate them.
    In previous versions of Django, the ``pk`` attribute had to be present
    on the serialized data or a ``DeserializationError`` would be raised.
      null, a new instance will be saved to the database.
  
  .. versionchanged:: 1.6
  
    In previous versions of Django, the ``pk`` attribute had to be present
    on the serialized data or a ``DeserializationError`` would be raised.
    In previous versions of Django, the ``pk`` attribute had to be present
    on the serialized data or a ``DeserializationError`` would be raised.
  
  This ensures that deserializing is a non-destructive operation even if the
  data in your serialized representation doesn't match what's currently in the
  database. Usually, working with these ``DeserializedObject`` instances looks
  something like::
keep keep keep keep replace replace keep keep keep keep keep
 Adapted uses of versionchanged/versionadded to the new form.

Refs #20104. 
docs/topics/serialization.txt