Skip to content

Fails to work with django-cacheops #178

@sparkplugmarcus

Description

@sparkplugmarcus

When using django-cacheops an AttributeError is thrown. It will work successfully when I don't cache the queryset with cacheops

Django==2.2.13
djangorestframework==3.11.2
django-cacheops==5.1
django-versatileimagefield==2.0

2021-01-28 17:23:32 ERROR [django.request:228] log Internal Server Error: /api/
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py", line 505, in dispatch
    response = self.handle_exception(exc)
  File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py", line 465, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
    raise exc
  File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py", line 502, in dispatch
    response = handler(request, *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/rest_framework/generics.py", line 252, in get
    return self.retrieve(request, *args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/rest_framework/mixins.py", line 56, in retrieve
    return Response(serializer.data)
  File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py", line 562, in data
    ret = super().data
  File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py", line 260, in data
    self._data = self.to_representation(self.instance)
  File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py", line 529, in to_representation
    ret[field.field_name] = field.to_representation(attribute)
  File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py", line 529, in to_representation
    ret[field.field_name] = field.to_representation(attribute)
  File "/usr/local/lib/python3.7/site-packages/versatileimagefield/serializers.py", line 53, in to_representation
    return self.to_native(value)
  File "/usr/local/lib/python3.7/site-packages/versatileimagefield/serializers.py", line 46, in to_native
    request=context_request
  File "/usr/local/lib/python3.7/site-packages/versatileimagefield/utils.py", line 223, in build_versatileimagefield_url_set
    img_url = get_url_from_image_key(image_instance, image_key)
  File "/usr/local/lib/python3.7/site-packages/versatileimagefield/utils.py", line 194, in get_url_from_image_key
    img_url = reduce(getattr, img_key_split, image_instance)
AttributeError: 'VersatileImageFieldFile' object has no attribute 'crop'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions