# 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 django.db.models import Q
|
||||
from ..models import Mosquito, MosqPost
|
||||
from .pagination import PostLimitOffsetPagination, PostPageNumberPagination
|
||||
from .serializers import MosqListSerializer, MosqPostListSerializer
|
||||
|
||||
|
||||
class MosquitoListAPIView(ListAPIView):
|
||||
serializer_class = MosqListSerializer
|
||||
filter_backends = [SearchFilter, OrderingFilter]
|
||||
pagination_class = PostLimitOffsetPagination
|
||||
search_fields = ['name', 'device_id', 'region']
|
||||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
|
@ -31,6 +33,7 @@ class MosquitoListAPIView(ListAPIView):
|
|||
class MosquitoPostListAPIView(ListAPIView):
|
||||
serializer_class = MosqPostListSerializer
|
||||
filter_backends = [SearchFilter, OrderingFilter]
|
||||
pagination_class = PostLimitOffsetPagination
|
||||
search_fields = ['mosq__name', 'mosq__region']
|
||||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
|
|
|
@ -7,6 +7,7 @@ from rest_framework.generics import (
|
|||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework.filters import SearchFilter, OrderingFilter
|
||||
from django.db.models import Q
|
||||
from mosquito.api.pagination import PostLimitOffsetPagination, PostPageNumberPagination
|
||||
from .serializers import SmartListSerializer, SmartPushListSerializer
|
||||
from ..models import SmartModule, SmartPush
|
||||
|
||||
|
@ -14,6 +15,7 @@ from ..models import SmartModule, SmartPush
|
|||
class SmartListAPIView(ListAPIView):
|
||||
serializer_class = SmartListSerializer
|
||||
filter_backends = [SearchFilter, OrderingFilter]
|
||||
pagination_class = PostLimitOffsetPagination
|
||||
search_fields = ['name', 'device_id', 'chip_id', 'region']
|
||||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
|
@ -33,6 +35,7 @@ class SmartListAPIView(ListAPIView):
|
|||
class SmartPushListAPIView(ListAPIView):
|
||||
serializer_class = SmartPushListSerializer
|
||||
filter_backends = [SearchFilter, OrderingFilter]
|
||||
pagination_class = PostLimitOffsetPagination
|
||||
search_fields = ['smart__name']
|
||||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
|
|
Loading…
Reference in New Issue