in elasticsearch/dsl/utils.py [0:0]
def to_dict(self, skip_empty: bool = True) -> Dict[str, Any]:
out = {}
for k, v in self._d_.items():
# if this is a mapped field,
f = self.__get_field(k)
if f and f._coerce:
v = f.serialize(v)
# if someone assigned AttrList, unwrap it
if isinstance(v, AttrList):
v = v._l_
if skip_empty:
# don't serialize empty values
# careful not to include numeric zeros
if v in ([], {}, None):
continue
out[k] = v
return out