Loading django/db/models/base.py +6 −5 Original line number Diff line number Diff line Loading @@ -7,20 +7,20 @@ import warnings from django.apps import apps from django.apps.config import MODELS_MODULE_NAME import django.db.models.manager # NOQA: Imported to register signal handler. from django.conf import settings from django.core import checks from django.core.exceptions import (ObjectDoesNotExist, MultipleObjectsReturned, FieldError, ValidationError, NON_FIELD_ERRORS) from django.db import (router, transaction, DatabaseError, DEFAULT_DB_ALIAS) from django.db.models.deletion import Collector from django.db.models.fields import AutoField, FieldDoesNotExist from django.db.models.fields.related import (ForeignObjectRel, ManyToOneRel, OneToOneField, add_lazy_relation) from django.db import (router, transaction, DatabaseError, DEFAULT_DB_ALIAS) from django.db.models.manager import ensure_default_manager from django.db.models.options import Options from django.db.models.query import Q from django.db.models.query_utils import DeferredAttribute, deferred_class_factory from django.db.models.deletion import Collector from django.db.models.options import Options from django.db.models import signals from django.utils import six from django.utils.deprecation import RemovedInDjango19Warning Loading Loading @@ -353,6 +353,7 @@ class ModelBase(type): cls.get_absolute_url = update_wrapper(curry(get_absolute_url, opts, cls.get_absolute_url), cls.get_absolute_url) ensure_default_manager(cls) signals.class_prepared.send(sender=cls) Loading django/db/models/manager.py +1 −5 Original line number Diff line number Diff line Loading @@ -3,20 +3,18 @@ import inspect from django.db import router from django.db.models.query import QuerySet from django.db.models import signals from django.db.models.fields import FieldDoesNotExist from django.utils import six from django.utils.encoding import python_2_unicode_compatible def ensure_default_manager(sender, **kwargs): def ensure_default_manager(cls): """ Ensures that a Model subclass contains a default manager and sets the _default_manager attribute on the class. Also sets up the _base_manager points to a plain Manager instance (which could be the same as _default_manager if it's not a subclass of Manager). """ cls = sender if cls._meta.abstract: setattr(cls, 'objects', AbstractManagerDescriptor(cls)) return Loading Loading @@ -48,8 +46,6 @@ def ensure_default_manager(sender, **kwargs): return raise AssertionError("Should never get here. Please report a bug, including your model and model manager setup.") signals.class_prepared.connect(ensure_default_manager) @python_2_unicode_compatible class BaseManager(object): Loading Loading
django/db/models/base.py +6 −5 Original line number Diff line number Diff line Loading @@ -7,20 +7,20 @@ import warnings from django.apps import apps from django.apps.config import MODELS_MODULE_NAME import django.db.models.manager # NOQA: Imported to register signal handler. from django.conf import settings from django.core import checks from django.core.exceptions import (ObjectDoesNotExist, MultipleObjectsReturned, FieldError, ValidationError, NON_FIELD_ERRORS) from django.db import (router, transaction, DatabaseError, DEFAULT_DB_ALIAS) from django.db.models.deletion import Collector from django.db.models.fields import AutoField, FieldDoesNotExist from django.db.models.fields.related import (ForeignObjectRel, ManyToOneRel, OneToOneField, add_lazy_relation) from django.db import (router, transaction, DatabaseError, DEFAULT_DB_ALIAS) from django.db.models.manager import ensure_default_manager from django.db.models.options import Options from django.db.models.query import Q from django.db.models.query_utils import DeferredAttribute, deferred_class_factory from django.db.models.deletion import Collector from django.db.models.options import Options from django.db.models import signals from django.utils import six from django.utils.deprecation import RemovedInDjango19Warning Loading Loading @@ -353,6 +353,7 @@ class ModelBase(type): cls.get_absolute_url = update_wrapper(curry(get_absolute_url, opts, cls.get_absolute_url), cls.get_absolute_url) ensure_default_manager(cls) signals.class_prepared.send(sender=cls) Loading
django/db/models/manager.py +1 −5 Original line number Diff line number Diff line Loading @@ -3,20 +3,18 @@ import inspect from django.db import router from django.db.models.query import QuerySet from django.db.models import signals from django.db.models.fields import FieldDoesNotExist from django.utils import six from django.utils.encoding import python_2_unicode_compatible def ensure_default_manager(sender, **kwargs): def ensure_default_manager(cls): """ Ensures that a Model subclass contains a default manager and sets the _default_manager attribute on the class. Also sets up the _base_manager points to a plain Manager instance (which could be the same as _default_manager if it's not a subclass of Manager). """ cls = sender if cls._meta.abstract: setattr(cls, 'objects', AbstractManagerDescriptor(cls)) return Loading Loading @@ -48,8 +46,6 @@ def ensure_default_manager(sender, **kwargs): return raise AssertionError("Should never get here. Please report a bug, including your model and model manager setup.") signals.class_prepared.connect(ensure_default_manager) @python_2_unicode_compatible class BaseManager(object): Loading