Это мой models.py. Отображение в формате структуры папок.
class Folder(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='userfolders')
folder = models.ForeignKey("self", on_delete=models.CASCADE,related_name='folders', null=True, blank=True)
name = models.CharField(_('Folder Name'), max_length=70)
class File(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='userfiles')
folder = models.ForeignKey(Folder, on_delete=models.CASCADE, related_name='folderfiles')
description = models.CharField(_('File Description'), max_length=70)
location = models.FileField(_('Location of the File'), upload_to=file_location_path, null=True, blank=True)
В модели, как вы можете видеть, у меня есть папка с собственным внешним ключом, и файл может быть связан с папкой.
Folder------+---Old Folder
+---Folder1-+--Cats.jpg
| +--File1.jpg
+---File1.txt
File
Folder New -+---Puppy.jpg
+---Dogs----+--Dog1.jpg
+--Dog2.jpg
+--Dog3.jpg
| 1st level | 2nd level | 3rd level |
Как я могу сначала отобразить 1-й уровень, а затем, если пользователь выбирает папку, она должна показывать ее содержимое. например, если выбрана папка New, пользователи должны увидеть файл с именем Puppy.jpg и папку с именем Dogs. Это возможно?