      way to do that is simply to execute ``Session.objects.all().delete()``.
  
  .. versionadded:: 1.6
  
  If a backend raises a :class:`~django.core.exceptions.PermissionDenied`
  exception, authentication will immediately fail. Django won't check the
  backends that follow.
  
  Writing an authentication backend
  ---------------------------------
  
  An authentication backend is a class that implements two required methods:
 
</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 Some fields in a model won't be deferred, even if you ask for them. You can
never defer the loading of the primary key. If you are using
:meth:`select_related()` to retrieve related models, you shouldn't defer the
loading of the field that connects from the primary model to the related
one, doing so will result in an error.
 </s> add     Some fields in a model won't be deferred, even if you ask for them. You can
    never defer the loading of the primary key. If you are using
    :meth:`select_related()` to retrieve related models, you shouldn't defer the
    loading of the field that connects from the primary model to the related
    one, doing so will result in an error. </s> remove This technique is fragile and was deprecated in Django 1.5. If you need the
response to be streamed from the iterator to the client, you should use the
:class:`StreamingHttpResponse` class instead.
 </s> add     This technique is fragile and was deprecated in Django 1.5. If you need the
    response to be streamed from the iterator to the client, you should use the
    :class:`StreamingHttpResponse` class instead. </s> remove             The ``content_type`` attribute was added.
 </s> add  </s> remove In Python 3, the logic is reversed, that is normal strings are Unicode, and
when you want to specifically create a bytestring, you have to prefix the
string with a 'b'. As we are doing in Django code from version 1.5,
we recommend that you import ``unicode_literals`` from the __future__ library
in your code. Then, when you specifically want to create a bytestring literal,
prefix the string with 'b'.
 </s> add     In Python 3, the logic is reversed, that is normal strings are Unicode, and
    when you want to specifically create a bytestring, you have to prefix the
    string with a 'b'. As we are doing in Django code from version 1.5,
    we recommend that you import ``unicode_literals`` from the __future__ library
    in your code. Then, when you specifically want to create a bytestring literal,
    prefix the string with 'b'.
    If a backend raises a :class:`~django.core.exceptions.PermissionDenied`
    exception, authentication will immediately fail. Django won't check the
    backends that follow.
      way to do that is simply to execute ``Session.objects.all().delete()``.
  
  .. versionadded:: 1.6
  
    If a backend raises a :class:`~django.core.exceptions.PermissionDenied`
    exception, authentication will immediately fail. Django won't check the
    backends that follow.
    If a backend raises a :class:`~django.core.exceptions.PermissionDenied`
    exception, authentication will immediately fail. Django won't check the
    backends that follow.
    If a backend raises a :class:`~django.core.exceptions.PermissionDenied`
    exception, authentication will immediately fail. Django won't check the
    backends that follow.
  
  Writing an authentication backend
  ---------------------------------
  
  An authentication backend is a class that implements two required methods:
keep keep keep keep replace replace replace keep keep keep keep keep
 Adapted uses of versionchanged/versionadded to the new form.

Refs #20104. 
docs/topics/auth/customizing.txt