13.03
Как присвоить к файловому полю Django модели существующий файл
Ниже предствлено решение как файловому полю модели присвоить уже существующий файл:
try:
file = request.FILES['avatar']
fileName = request.FILES['avatar'].name
except:
user.avatar = 'avatars/default.gif'
flag = False
if flag:
user.avatar.save(fileName, file)
user.save()
Из официальной документации это не очевидно. Описанный там пример производит запись файла на диск, а так как файл с таким именем уже есть, то файла сохраняется с другим именем. В результате получаем 2 файла, причем первый может быть не связан ни с одним экземпляром модели.
Подробней тема на stackoverflow