Переименование файлов django FileField - PullRequest
2 голосов
/ 03 февраля 2012

Некоторые дополнительные функции были добавлены в приложение django, и в результате также была расширена функция upload_to.

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

Однако, это грязно - мы попадаем в ситуацию с файлами типа

/media/userID/oldfilename.pdf 

и

/media/app/userID/projectID/newfilename.pdf 

Есть ли способ массового переименования этих файлов?Я предполагаю, что это можно сделать, выполнив итерацию по базе данных, проверив, соответствует ли путь в FileField результату текущего upload_to, а если нет, переименовать ... это похоже на общую проблему, так что, возможно, есть более общий выход?

1 Ответ

1 голос
/ 13 февраля 2012

Простым решением является написание пользовательской команды управления Django .Вы можете запустить команду, используя стандартный Django manage.py.

Что-то вроде этого:

...