class BaseManager
from django.db.models.manager import BaseManager
Ancestors (MRO)
- builtins.object
- django.db.models.manager.BaseManager
Attribute | Value | Defined in |
---|---|---|
auto_created |
False |
django.db.models.manager.BaseManager |
creation_counter |
23 |
django.db.models.manager.BaseManager |
use_in_migrations |
False |
django.db.models.manager.BaseManager |
def all(self)
django.db.models.manager.BaseManager
def all(self):
# We can't proxy this method through the `QuerySet` like we do for the
# rest of the `QuerySet` methods. This is because `QuerySet.all()`
# works by creating a "copy" of the current queryset and in making said
# copy, all the cached `prefetch_related` lookups are lost. See the
# implementation of `RelatedManager.get_queryset()` for a better
# understanding of how this comes into play.
return self.get_queryset()
def check(self, **kwargs)
django.db.models.manager.BaseManager
def check(self, **kwargs):
return []
def contribute_to_class(self, cls, name)
django.db.models.manager.BaseManager
def contribute_to_class(self, cls, name):
self.name = self.name or name
self.model = cls
setattr(cls, name, ManagerDescriptor(self))
cls._meta.add_manager(self)
def db(self)
django.db.models.manager.BaseManager
def db_manager(self, using=None, hints=None)
django.db.models.manager.BaseManager
def db_manager(self, using=None, hints=None):
obj = copy.copy(self)
obj._db = using or self._db
obj._hints = hints or self._hints
return obj
def deconstruct(self)
django.db.models.manager.BaseManager
Return a 5-tuple of the form (as_manager (True), manager_class, queryset_class, args, kwargs). Raise a ValueError if the manager is dynamically generated.
def deconstruct(self):
"""
Return a 5-tuple of the form (as_manager (True), manager_class,
queryset_class, args, kwargs).
Raise a ValueError if the manager is dynamically generated.
"""
qs_class = self._queryset_class
if getattr(self, "_built_with_as_manager", False):
# using MyQuerySet.as_manager()
return (
True, # as_manager
None, # manager_class
"%s.%s" % (qs_class.__module__, qs_class.__name__), # qs_class
None, # args
None, # kwargs
)
else:
module_name = self.__module__
name = self.__class__.__name__
# Make sure it's actually there and not an inner class
module = import_module(module_name)
if not hasattr(module, name):
raise ValueError(
"Could not find manager %s in %s.\n"
"Please note that you need to inherit from managers you "
"dynamically generated with 'from_queryset()'."
% (name, module_name)
)
return (
False, # as_manager
"%s.%s" % (module_name, name), # manager_class
None, # qs_class
self._constructor_args[0], # args
self._constructor_args[1], # kwargs
)
def from_queryset(cls, queryset_class, class_name=None)
django.db.models.manager.BaseManager
@classmethod
def from_queryset(cls, queryset_class, class_name=None):
if class_name is None:
class_name = "%sFrom%s" % (cls.__name__, queryset_class.__name__)
return type(
class_name,
(cls,),
{
"_queryset_class": queryset_class,
**cls._get_queryset_methods(queryset_class),
},
)
def get_queryset(self)
django.db.models.manager.BaseManager
Return a new QuerySet object. Subclasses can override this method to customize the behavior of the Manager.
def get_queryset(self):
"""
Return a new QuerySet object. Subclasses can override this method to
customize the behavior of the Manager.
"""
return self._queryset_class(model=self.model, using=self._db, hints=self._hints)