      or ``model._meta.label_lower`` respectively.
  
  ``db_table``
  ------------
  
  .. attribute:: Options.db_table
  
 
</s> remove ~~~~~~~~~~~~~~~~
 </s> add ----------------

.. attribute:: Model._default_manager </s> remove 2. The default manager on a class is either the first manager declared on the
   class, if that exists, or the default manager of the first parent class in
   the parent hierarchy, if that exists. If no manager is explicitly declared,
   Django automatically creates the `objects` manager and it becomes the default
   manager.
 </s> add #. If no managers are declared on a model and/or its parents, Django
   automatically creates the ``objects`` manager.

#. The default manager on a class is either the one chosen with
   :attr:`Meta.default_manager_name
   <django.db.models.Options.default_manager_name>`, or the first manager
   declared on the model, or the default manager of the first parent model. </s> remove the "default" ``Manager``, and several parts of Django
(including :djadmin:`dumpdata`) will use that ``Manager``
exclusively for that model. As a result, it's a good idea to be careful in
your choice of default manager in order to avoid a situation where overriding
``get_queryset()`` results in an inability to retrieve objects you'd like to
work with.
 </s> add the "default" ``Manager``, and several parts of Django (including
:djadmin:`dumpdata`) will use that ``Manager`` exclusively for that model. As a
result, it's a good idea to be careful in your choice of default manager in
order to avoid a situation where overriding ``get_queryset()`` results in an
inability to retrieve objects you'd like to work with.

You can specify a custom default manager using :attr:`Meta.base_manager_name
<django.db.models.Options.base_manager_name>`.

If you're writing some code that must handle an unknown model, for example, in
a third-party app that implements a generic view, use this manager (or
:attr:`~Model._base_manager`) rather than assuming the model has an ``objects``
manager.

Base managers
-------------

.. attribute:: Model._base_manager
``base_manager_name``
---------------------

.. attribute:: Options.base_manager_name

.. versionadded:: 1.10

The name of the manager to use for the model's
:attr:`~django.db.models.Model._base_manager`.

      or ``model._meta.label_lower`` respectively.
  
``base_manager_name``
---------------------

.. attribute:: Options.base_manager_name

.. versionadded:: 1.10

The name of the manager to use for the model's
:attr:`~django.db.models.Model._base_manager`.

  ``db_table``
  ------------
  
  .. attribute:: Options.db_table
  
keep add keep keep keep keep keep
 Fixed #10506, #13793, #14891, #25201 -- Introduced new APIs to specify models' default and base managers.

This deprecates use_for_related_fields.

Old API:

class CustomManager(models.Model):
    use_for_related_fields = True

class Model(models.Model):
    custom_manager = CustomManager()

New API:

class Model(models.Model):
    custom_manager = CustomManager()

    class Meta:
        base_manager_name = 'custom_manager'

Refs #20932, #25897.

Thanks Carl Meyer for the guidance throughout this work.
Thanks Tim Graham for writing the docs. 
docs/ref/models/options.txt