Невозможно сохранить объект в кэше 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)

Но почему-то это не убирает поле изображения из операции кэширования.

Вернуться на верх