from __future__ import annotations def get_all_children(obj): children = [] for child in getattr(obj, "children", []): children += [child] + get_all_children(child) children = list(set(children)) return children