Я реализующее приложение с Джанго, который имеет модель с FileField:Джанго - обновление модели не будет удалять старый FileField
class Slideshow(models.Model):
name = models.CharField(max_length=30,unique=True)
thumbnail = models.FileField(max_length=1000,upload_to="images/app/slideshows/thumbnails")
и у меня есть администратор бэкэнда, где Джанго управляет моделью. Я просто добавил файл admin.py и Джанго управляет всем для меня
from django.contrib import admin
from apps.gallery.models import Slideshow
admin.site.register(Slideshow)
В интерфейсе можно добавлять, удалять и обновлять слайд-шоу. Однако, когда я пытаюсь обновить слайд-шоу и изменить его атрибут thumbnail [FileField], django не удаляет старый файл. Следовательно, после нескольких обновлений сервер заполняется множеством файлов, которые бесполезны. Мой вопрос: как я могу сделать django автоматически удалять эти файлы после обновления?
Я очень ценю вашу помощь
Да, вы правы! Разработчики django, похоже, работают в новом дизайне для этого случая в новых выпусках. Один из вариантов заключается в добавлении дополнительной опции в FileFields для замены файлов при загрузке: http://groups.google.com/group/django-developers/browse_thread/thread/491619541ba6ac75 Я поддерживаю эту идею, " Спасибо за вашу помощь. Сет: «Я могу использовать этот патч, о котором вы мне рассказывали. – raulsan
У вас была другая идея - вы можете попробовать добавить ** show_hidden_initial ** в свой 'FileField'. Предположительно, это даст вам доступ к исходному значению «FileField» до того, как будет загружен новый файл. – Seth