How can I replace/override an uploaded file?
Asked Answered
U

1

3

I want to be able to upload a file and on each upload to override/replace the existing file with the newest version.

from django.core.files.storage import FileSystemStorage  
fs = FileSystemStorage(location='C:/temp', base_url='/attachments')      
class Import(models.Model):  
    file = models.FileField(upload_to='data', storage=fs)
Ugh answered 23/11, 2010 at 7:55 Comment(0)
U
1

I don't know if this is the best approach, but the following lines helped me override/replace the existing file.

upload_dir_path = Setting.objects.get(entry__exact='upload_path').value
delete_files(upload_dir_path)
upload = form.save(commit=False)
upload.file.storage.location = upload_dir_path            
upload = form.save()
Ugh answered 3/1, 2011 at 6:56 Comment(1)
if anyone interested in this solution, see Thnee answer here for a more detailled explanationCoveney

© 2022 - 2024 — McMap. All rights reserved.