Sto usando Memcached come backend alla mia app django. Questo codice funziona bene in normale interrogazione django:Come archiviare le chiamate API di Django Rest Framework?
def get_myobj():
cache_key = 'mykey'
result = cache.get(cache_key, None)
if not result:
result = Product.objects.all().filter(draft=False)
cache.set(cache_key, result)
return result
Ma non funziona quando viene utilizzato con chiamate API django-resto-quadro:
class ProductListAPIView(generics.ListAPIView):
def get_queryset(self):
product_list = Product.objects.all()
return product_list
serializer_class = ProductSerializer
sto per provare DRF-extensions che fornire funzionalità di caching:
https://github.com/chibisov/drf-extensions
ma lo status di compilazione su github è attualmente dicendo "costruire in mancanza".
La mia app è molto pesante su chiamate API. C'è un modo per mettere in cache queste chiamate?
Grazie.
Hai decorare il metodo con "@cache_response()"? –
Ciao. @cache_response proviene da estensioni DRF che non ho ancora provato a implementarlo perché lo stato della build dice "build failing" nella loro pagina github: https://github.com/chibisov/drf-extensions – Kakyoin
Ti rendi conto che la vista incollato non chiama la cache? – Linovia