MCPcopy Create free account
hub / github.com/MongoEngine/mongoengine / QuerySetManager

Class QuerySetManager

mongoengine/queryset/manager.py:8–47  ·  view source on GitHub ↗

The default QuerySet Manager. Custom QuerySet Manager functions can extend this class and users can add extra queryset functionality. Any custom manager methods must accept a :class:`~mongoengine.Document` class as its first argument, and a :class:`~mongoengine.queryset.QueryS

Source from the content-addressed store, hash-verified

6
7
8class QuerySetManager:
9 """
10 The default QuerySet Manager.
11
12 Custom QuerySet Manager functions can extend this class and users can
13 add extra queryset functionality. Any custom manager methods must accept a
14 :class:`~mongoengine.Document` class as its first argument, and a
15 :class:`~mongoengine.queryset.QuerySet` as its second argument.
16
17 The method function should return a :class:`~mongoengine.queryset.QuerySet`
18 , probably the same one that was passed in, but modified in some way.
19 """
20
21 get_queryset = None
22 default = QuerySet
23
24 def __init__(self, queryset_func=None):
25 if queryset_func:
26 self.get_queryset = queryset_func
27
28 def __get__(self, instance, owner):
29 """Descriptor for instantiating a new QuerySet object when
30 Document.objects is accessed.
31 """
32 if instance is not None:
33 # Document object being used rather than a document class
34 return self
35
36 # owner is the document that contains the QuerySetManager
37 queryset_class = owner._meta.get("queryset_class", self.default)
38 queryset = queryset_class(owner, owner._get_collection())
39 if self.get_queryset:
40 arg_count = self.get_queryset.__code__.co_argcount
41 if arg_count == 1:
42 queryset = self.get_queryset(queryset)
43 elif arg_count == 2:
44 queryset = self.get_queryset(owner, queryset)
45 else:
46 queryset = partial(self.get_queryset, owner, queryset)
47 return queryset
48
49
50def queryset_manager(func):

Callers 2

__new__Method · 0.90
queryset_managerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…