# add pagination
This commit is contained in:
parent
3e2ffed09c
commit
fb952a8060
|
@ -0,0 +1,10 @@
|
||||||
|
from rest_framework.pagination import LimitOffsetPagination, PageNumberPagination
|
||||||
|
|
||||||
|
|
||||||
|
class PostLimitOffsetPagination(LimitOffsetPagination):
|
||||||
|
max_limit = 10
|
||||||
|
default_limit = 4
|
||||||
|
|
||||||
|
|
||||||
|
class PostPageNumberPagination(PageNumberPagination):
|
||||||
|
page_size = 4
|
|
@ -8,12 +8,14 @@ from rest_framework.permissions import IsAuthenticated
|
||||||
from rest_framework.filters import SearchFilter, OrderingFilter
|
from rest_framework.filters import SearchFilter, OrderingFilter
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from ..models import Mosquito, MosqPost
|
from ..models import Mosquito, MosqPost
|
||||||
|
from .pagination import PostLimitOffsetPagination, PostPageNumberPagination
|
||||||
from .serializers import MosqListSerializer, MosqPostListSerializer
|
from .serializers import MosqListSerializer, MosqPostListSerializer
|
||||||
|
|
||||||
|
|
||||||
class MosquitoListAPIView(ListAPIView):
|
class MosquitoListAPIView(ListAPIView):
|
||||||
serializer_class = MosqListSerializer
|
serializer_class = MosqListSerializer
|
||||||
filter_backends = [SearchFilter, OrderingFilter]
|
filter_backends = [SearchFilter, OrderingFilter]
|
||||||
|
pagination_class = PostLimitOffsetPagination
|
||||||
search_fields = ['name', 'device_id', 'region']
|
search_fields = ['name', 'device_id', 'region']
|
||||||
|
|
||||||
def get_queryset(self, *args, **kwargs):
|
def get_queryset(self, *args, **kwargs):
|
||||||
|
@ -31,6 +33,7 @@ class MosquitoListAPIView(ListAPIView):
|
||||||
class MosquitoPostListAPIView(ListAPIView):
|
class MosquitoPostListAPIView(ListAPIView):
|
||||||
serializer_class = MosqPostListSerializer
|
serializer_class = MosqPostListSerializer
|
||||||
filter_backends = [SearchFilter, OrderingFilter]
|
filter_backends = [SearchFilter, OrderingFilter]
|
||||||
|
pagination_class = PostLimitOffsetPagination
|
||||||
search_fields = ['mosq__name', 'mosq__region']
|
search_fields = ['mosq__name', 'mosq__region']
|
||||||
|
|
||||||
def get_queryset(self, *args, **kwargs):
|
def get_queryset(self, *args, **kwargs):
|
||||||
|
|
|
@ -7,6 +7,7 @@ from rest_framework.generics import (
|
||||||
from rest_framework.permissions import IsAuthenticated
|
from rest_framework.permissions import IsAuthenticated
|
||||||
from rest_framework.filters import SearchFilter, OrderingFilter
|
from rest_framework.filters import SearchFilter, OrderingFilter
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
|
from mosquito.api.pagination import PostLimitOffsetPagination, PostPageNumberPagination
|
||||||
from .serializers import SmartListSerializer, SmartPushListSerializer
|
from .serializers import SmartListSerializer, SmartPushListSerializer
|
||||||
from ..models import SmartModule, SmartPush
|
from ..models import SmartModule, SmartPush
|
||||||
|
|
||||||
|
@ -14,6 +15,7 @@ from ..models import SmartModule, SmartPush
|
||||||
class SmartListAPIView(ListAPIView):
|
class SmartListAPIView(ListAPIView):
|
||||||
serializer_class = SmartListSerializer
|
serializer_class = SmartListSerializer
|
||||||
filter_backends = [SearchFilter, OrderingFilter]
|
filter_backends = [SearchFilter, OrderingFilter]
|
||||||
|
pagination_class = PostLimitOffsetPagination
|
||||||
search_fields = ['name', 'device_id', 'chip_id', 'region']
|
search_fields = ['name', 'device_id', 'chip_id', 'region']
|
||||||
|
|
||||||
def get_queryset(self, *args, **kwargs):
|
def get_queryset(self, *args, **kwargs):
|
||||||
|
@ -33,6 +35,7 @@ class SmartListAPIView(ListAPIView):
|
||||||
class SmartPushListAPIView(ListAPIView):
|
class SmartPushListAPIView(ListAPIView):
|
||||||
serializer_class = SmartPushListSerializer
|
serializer_class = SmartPushListSerializer
|
||||||
filter_backends = [SearchFilter, OrderingFilter]
|
filter_backends = [SearchFilter, OrderingFilter]
|
||||||
|
pagination_class = PostLimitOffsetPagination
|
||||||
search_fields = ['smart__name']
|
search_fields = ['smart__name']
|
||||||
|
|
||||||
def get_queryset(self, *args, **kwargs):
|
def get_queryset(self, *args, **kwargs):
|
||||||
|
|
Loading…
Reference in New Issue