2017-05-24 3 views
1

Ich verwende Viewsets. Um beispielsweise verschiedene Serialisierer pro Aktion zu verwenden, kann ich die Methode get_serializer_class() überschreiben. Aber was ist mit Paginierung? Gibt es eine Möglichkeit, die Paginierungsklasse anders als einzustellen? Ich denke, das ist nicht gut, da es die pagination_class für alle Aktionen ändern wird.Wie kann ich in Django verschiedene Paginierungsklassen pro Aktion verwenden?

Antwort

1

Sie müssen die Paginierungsklasse mit Ihren eigenen überschreiben.

from rest_framework.pagination import PageNumberPagination 

class PageNumberPaginationDataOnly(PageNumberPagination): 
    # Set any other options you want here like page_size 

    def get_paginated_response(self, data): 
     # implement your logic 
     return Response(data) 
Verwandte Themen