У меня есть эта модель ...изменения имени файла в Джанго
class MyModel(models.Model):
...
file = models.FileField(upload_to='files/',null=True, blank=True)
...
, когда я загрузить файл, пример имени файла docfile.doc
. когда я меняю файл или переписываю его и снова загружаю docfile.doc
, файл станет docfile_1.doc
, а старый docfile.doc
по-прежнему существует.
я делаю загрузку и сохранение данных в django-admin
мой вопрос, как я могу удалить старый docfile.doc
если я загрузить новый docfile.doc
и имя файла еще docfile.doc
?
Может ли кто-нибудь помочь мне в моем случае? спасибо заранее
я попробовать это один:
def content_file_name(instance, filename):
print instance
print filename
file = os.path.exists(filename)
print file
if file:
os.remove(filename)
return "file/"+str(filename)
class MyModel(models.Model):
...
file = models.FileField(upload_to=content_file_name,null=True, blank=True)
...
но ничего СЛУЧИЛОСЬ, когда я загрузить docfile.doc
снова, она станет docfile_1.doc
и старый docfile.doc
все еще существуют.
Django делает это, потому что браузеры кэшируют изображения. Сразу после загрузки нового браузера изображений отображается предыдущий (из его кеша). – sergzach
Не делайте этого! Если вы не добавите @never_cache в свою функцию просмотра. –