if children:
    result['children'] = children
return result
root_nodes = cache_tree_children(Node.objects.all())
dicts = []
for n in root_nodes:
    dicts.append(recursive_node_to_dict(n))
print(json.dumps(dicts, indent=4))
самый быстрый способ создать JSON для отражения древовидной структуры в Python/Django с использованием mptt