"Дети" вложенных файлов
Я делаю проект (на 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)