Невозможно сохранить объект в кэше Django, потому что модель использует динамический атрибут
Я использую пакет django-stdimage для автоматического изменения размера моих изображений. Однако, похоже, что этот конкретный плагин создает проблемы, когда я хочу кэшировать определенные результаты.
Модели:
class Page(models.Model):
name = models.CharField(max_length=255)
image = StdImageField(upload_to="images", variations={"thumbnail": (800, 600), delete_orphans=True)
Вид:
page = Page.objects.get(pk=1)
cache.set("page", page, None)
Результат:
AttributeError:
У объекта 'StdImageFieldFile' нет атрибута 'thumbnail'
От здесь:
это потому, что атрибут устанавливается динамически и не правильно сериализован.
Итак, мой вопрос: есть ли способ записать этот объект в кэш, даже если этот конкретный атрибут устанавливается динамически? Обратите внимание, что мне не нужно, чтобы это конкретное поле кэшировалось - если есть способ кэшировать весь объект БЕЗ поля изображения, меня это тоже устроит. Я также пробовал:
page = Page.objects.defer("image").get(pk=1)
Но почему-то это не убирает поле изображения из операции кэширования.