"Дети" вложенных файлов

Я делаю проект (на Django REST Framework), посвященный хранению файлов. Структура проекта предполагает, что папки могут быть вложены в другие папки. А файлы могут быть вложены в папки. Я прописал логику ссылки файла на папку, в которую он загружен. Однако мне нужно, чтобы при запросе к сервису через API мне выдавалось еще одно поле, включающее данные всех вложенных папок и файлов ("дочернее") поле.

Мой файл model.py:

FILE='FILE'
FOLDER='FOLDER'
TYPE_CHOICES = [(FILE,"FILE"),(FOLDER,"FOLDER")]




class Folder(models.Model):
    id = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4)
    parent_id = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True)
    type = models.CharField(max_length=255, choices=TYPE_CHOICES, editable=False, default='FOLDER')
    name = models.CharField(max_length=255)
    # size = models.IntegerField(blank=True, null=True, default = 0)
    date = models.DateField(auto_now=True)



class File(models.Model):
    type = models.CharField(max_length=255, choices=TYPE_CHOICES, editable=False, default='FILE')
    id = models.UUIDField(primary_key=True, editable=False, default=uuid.uuid4)
    file = models.FileField(null=True, max_length=255)
    date = models.DateTimeField(auto_now =True)
    # user = models.ForeignKey(User, on_delete=models.CASCADE)
    parentId = models.ForeignKey(Folder, on_delete=models.CASCADE)
    


    def __str__(self):
        return str(self.file.name)
Вернуться на верх