Solo desde lo alto de mi cabeza estás usando @cache_page(CACHE_TTL)
en el lugar equivocado y de la manera equivocada.
De acuerdo con los documentos de django, necesita la cache_page
el decorador debe estar por encima del método de la clase, no de la clase en sí, y debe estar envuelto en method_decorator
.
Sobrescribir ParameterViewSet
dispatch
de 's como a continuación y debería hacer el trabajo.
@method_decorator(cache_page(CACHE_TTL))
def dispatch(self, *args, **kwargs):
return super().dispatch(*args, **kwargs)
Documentos:
- Decorando la clase
- Uso de caché con apiview y viewsets