bullish/backend/app/views.py
Ameya Shenoy 9629b7b7d2
feat: add endpoint for default caching via redis
Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
2021-02-11 11:18:58 +05:30

35 lines
1 KiB
Python

# third-party imports
from rest_framework.response import Response
from rest_framework import generics
from django.utils.decorators import method_decorator
from django.views.decorators.cache import cache_page
# app imports
from app.models import BhavCopyEquity
from app.serializers import BhavCopyEquitySerializer
# Create your views here.
class BhavCopyEquityView(generics.RetrieveAPIView):
queryset = BhavCopyEquity.objects.all()
def get(self, request, *args, **kwargs):
queryset = self.get_queryset()
serializer = BhavCopyEquitySerializer(queryset, many=True)
print("without redis")
return Response(serializer.data)
class BhavCopyEquityDefaultRedisView(generics.RetrieveAPIView):
queryset = BhavCopyEquity.objects.all()
@method_decorator(cache_page(60*60*2))
def get(self, request, *args, **kwargs):
queryset = self.get_queryset()
serializer = BhavCopyEquitySerializer(queryset, many=True)
print("without redis")
return Response(serializer.data)