だから、これは私のビューセットです:
class PostViewSet(viewsets.ModelViewSet):
queryset = Post.objects.all()
serializer_class = PostSerializer
permission_classes = (IsAuthenticated, IsLikeOrOwnerDeleteOrReadOnly,)
def perform_create(self, serializer):
serializer.save(owner=self.request.user, location=self.request.user.userextended.location)
@detail_route(methods=['post'], permission_classes=[IsFromLoactionOrReadOnly])
def like(self, request, pk=None):
post = self.get_object()
post.usersVoted.add(request.user)
return Response(status=status.HTTP_204_NO_CONTENT)
これは私のURL /ルーターです:
router.register(r'posts', views.PostViewSet)
さて、この URL にアクセスすると、次のようになります。
/posts
DRF はすべての投稿とシリアライザーを送信します (または、私はそう思います..まだ多くの投稿を持っていないので、それらすべてを送信すると想定しています)。私がやりたいことは、ViewSet がシリアル化する投稿の数を 10 に制限できるようにすることです。シリアル化したい 10 個のオブジェクトは、API ユーザーに URL で送信するように強制したいページ番号によって異なります。たとえば、ユーザーに次のような URL で番号を送信するように強制したい:
/posts/x
バックエンドでは、pk x から x+9 までの投稿をシリアライズしたい (つまり、x=1 と仮定すると、pk=1、pk=2、pk=3... pk= で投稿をシリアライズしたい) 10.)。これはDRFで可能ですか?Pagination
ドキュメントを読むと、必要なもののように見えますが、ページネーションとは何か、それを使用して目的を達成する方法について頭を完全に包むことができないため、使用していると思います。ページネーションのドキュメントは次のとおりです。 http://www.django-rest-framework.org/api-guide/pagination/
前もって感謝します。