Как я могу создать дерево (структуру данных) для файлового браузера?

#python #tree #file-browser

Вопрос:

Я работаю над созданием файлового браузера (дерева) с использованием Django / Rest Framework / JS.

Моя модель:

 class Folder(models.Model):
    name = models.CharField(blank=False, null=False, max_length=60)
    parent = models.ForeignKey("self", on_delete=models.CASCADE, null=True, blank=True)
 

Как я могу получить такой результат:

 children:[
            {
                'name': 'music',
                children:[
                    {
                        name: 'song.mp3'
                    },
                    {
                        name: 'song2.mp3'
                    }
                ]
            },
            {
                name: 'Books',
                children:[
                    {
                        name: 'php.pdf'
                    }
                ]
            }
        ]
    }