Как определить порядок файлов/подпапок в пользовательских папках в Django?

Я создаю веб-приложение на Django, в котором пользователи могут загружать файлы в структуру папок, которую они также создают/контролируют. Я знаю, как облегчить загрузку файлов и понимаю решение, предложенное в этом вопросе о том, как "назначить" файлы (или вложенные папки) их родительским папкам, без необходимости создавать фактические папки в базовом файловом хранилище.

Однако в моем веб-приложении я также хотел бы позволить пользователям определять порядок файлов и подпапок внутри каждой папки не полагаясь на фактические имена файлов.

Я знаю, что могу установить порядок возвращаемых экземпляров модели one-to-many путем установки переменной index в meta class (см. этот вопрос). В моем случае я мог бы вставить поле "порядок" в модели файлов/папок и затем установить это значение соответствующим образом для каждого файла/подпапки в данной родительской папке. Однако это означало бы, что когда пользователь перемещает файл, например, из нижней части родительской папки в верхнюю, каждый экземпляр модели файла/подпапки родительской папки должен быть отредактирован, чтобы отразить его новое положение в папке. Возможно, мой недостаток опыта кодирования вводит меня в заблуждение, но такая установка кажется мне склонной к ошибкам и дорогой.

Есть ли другое решение этой проблемы, более "чистое"?

Вернуться на верх