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