diff --git a/elasticsearch_dsl/utils.py b/elasticsearch_dsl/utils.py index 3b231d25..1a8e8973 100644 --- a/elasticsearch_dsl/utils.py +++ b/elasticsearch_dsl/utils.py @@ -101,6 +101,9 @@ def __getstate__(self): def __setstate__(self, state): self._l_, self._obj_wrapper = state + def to_list(self): + return self._l_ + class AttrDict: """ diff --git a/tests/test_utils.py b/tests/test_utils.py index 73931d43..615b4c24 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -100,3 +100,9 @@ def test_recursive_to_dict(): assert utils.recursive_to_dict({"k": [1, (1.0, {"v": Q("match", key="val")})]}) == { "k": [1, (1.0, {"v": {"match": {"key": "val"}}})] } + + +def test_attrlist_to_list(): + l = utils.AttrList([{}, {}]).to_list() + assert isinstance(l, list) + assert l == [{}, {}]