Поскольку у меня возникла проблема, связанная с сохранением изображения через администратора, я получил следующее решение, которое отвечает на все мои запросы ...
Сначала я обнаружил, что, хотя администратор сохраняет исходный файлname, если файл с таким именем уже существует, он продолжает добавлять счет в качестве суффикса для предотвращения дублирования имени файла ... например, если загружен тот же файл, он сохраняется как image, image_2, image_3 и т. д. ...
Во-вторых, при смене изображения через админку исходный файл не удалялся.Для этого я написал следующий код в admin.py.И он хорошо справляется со своей задачей ...
Код:
class BannerAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
#Remove the previous file if the object is not new
#and new file supplied.
if obj.id != None and len(request.FILES) > 0:
import os
old_obj = m.Banner.objects.get(id = obj.id)
os.remove(old_obj.image.path)
Надеюсь, это поможет вам, если у вас возникла подобная проблема.