MCPcopy Index your code
hub / github.com/MongoEngine/mongoengine / __add__

Method __add__

mongoengine/queryset/field_list.py:28–67  ·  view source on GitHub ↗
(self, f)

Source from the content-addressed store, hash-verified

26 self.slice = {}
27
28 def __add__(self, f):
29 if isinstance(f.value, dict):
30 for field in f.fields:
31 self.slice[field] = f.value
32 if not self.fields:
33 self.fields = f.fields
34 elif not self.fields:
35 self.fields = f.fields
36 self.value = f.value
37 self.slice = {}
38 elif self.value is self.ONLY and f.value is self.ONLY:
39 self._clean_slice()
40 if self._only_called:
41 self.fields = self.fields.union(f.fields)
42 else:
43 self.fields = f.fields
44 elif self.value is self.EXCLUDE and f.value is self.EXCLUDE:
45 self.fields = self.fields.union(f.fields)
46 self._clean_slice()
47 elif self.value is self.ONLY and f.value is self.EXCLUDE:
48 self.fields -= f.fields
49 self._clean_slice()
50 elif self.value is self.EXCLUDE and f.value is self.ONLY:
51 self.value = self.ONLY
52 self.fields = f.fields - self.fields
53 self._clean_slice()
54
55 if "_id" in f.fields:
56 self._id = f.value
57
58 if self.always_include:
59 if self.value is self.ONLY and self.fields:
60 if sorted(self.slice.keys()) != sorted(self.fields):
61 self.fields = self.fields.union(self.always_include)
62 else:
63 self.fields -= self.always_include
64
65 if getattr(f, "_only_called", False):
66 self._only_called = True
67 return self
68
69 def __bool__(self):
70 return bool(self.fields)

Callers

nothing calls this directly

Calls 2

_clean_sliceMethod · 0.95
keysMethod · 0.80

Tested by

no test coverage detected