Возможно, вы захотите переопределить метод save () модели, и, возможно, придумаете пользовательский UploadHandler «ничего не делать», затем переключитесь обратно на исходный и снова вызовите save.
https://docs.djangoproject.com/en/dev/topics/http/file-uploads/
https://docs.djangoproject.com/en/dev/topics/db/models/
Однако в этой ситуации я бы сделал специальный обработчик загрузки, который сохраняет файл в некотором временном пространстве. Затем я переопределил бы метод сохранения (в миксе или что-то в этом роде), который перемещает файл из temp в нужное место.
@ Ответ Томека тоже другой. Если ваша модель генерирует собственный идентификатор, вы можете использовать его.
Второе предпоследнее предложение, которое я делаю с моим фотоблогом, - вместо сохранения всех изображений в каталоге, например media / 2 / filename.jpg, я сохраняю изображение по дате загрузки. 2011/10/2 / image.jpg Этот вид помогает любому каталогу стать слишком громоздким.
Наконец, вы могли бы хэшировать имена файлов и сохранять их в каталогах с хэш-именами, чтобы равномерно распределить изображения в каталоге.
Я выбрал стиль даты, потому что это важно для меня с этим проектом. Возможно, есть другой способ присвоения имени изображению для сохранения, которое будет означать нечто большее, чем «модель с изображениями с идентификатором 2», которую вы могли бы использовать для этой проблемы.
Удачи!