Я не совсем уверен, отвечает ли это на ваш вопрос, но у меня была та же проблема, и это было мое решение.
У меня есть модель с FileField, например:
material = models.FileField(upload_to='materials')
При обработке загруженного файла я использую get_thumbnail () для генерации миниатюры, передавая FileField как параметр против файла уровня python позади него.то есть:
thumb = get_thumbnail(modelinstance.material, '%dx%d' % (thumb_width, thumb_height))
Как и в случае с вашей проблемой, я также обнаружил, что если файл имеет такое же имя, sorl будет просто извлекать миниатюру из кэша, а не создавать новую.Отягчающие!
То, что работало, использовало метод удаления sorl и передавал FileField.Сначала я попытался передать файл python за объектом FileField, что, возможно, вы пытались сделать?Исходя из этого:
sorl.thumbnail.delete(modelinstance.material.file)
К этому:
sorl.thumbnail.delete(modelinstance.material)
Казалось бы, выровнялись с хранилищем sorl-thumbnail в KV, и должным образом убрали бы кэшированные миниатюры, чтобы новыйодин может быть создан из нового файла.Yay!
Это было полезно для меня: http://sorl -thumbnail.readthedocs.org / en / latest / operation.html
Кроме того, даже после запуска ./Очистить миниатюры manage.py и очистить миниатюры ./manage.py я не смог заставить Джанго перестать искать старые миниатюры в одном месте.Мне пришлось вручную очистить кеш Django (я использую memcached).Вот как вы можете это сделать:
import os
# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "yourproject.settings"
from django.core.cache import cache
# Flush!
cache._cache.flush_all()
Это мой первый ТАК ответ.Надеюсь, это кому-нибудь поможет :) 1027 *