Ganz oben in meinem Kopf verwenden Sie den @cache_page(CACHE_TTL)
am falschen Ort und auf dem falschen Weg.
Laut django docs benötigen Sie die cache_page
decorator muss über der Methode der Klasse stehen, nicht über der Klasse selbst, und sie muss in method_decorator
eingeschlossen werden .
ParameterViewSet
überschreiben 's dispatch
wie unten und es sollte funktionieren.
@method_decorator(cache_page(CACHE_TTL))
def dispatch(self, *args, **kwargs):
return super().dispatch(*args, **kwargs)
Dokumente:
- Die Klasse dekorieren
- Cache mit apiview und Viewsets verwenden