首页 > 解决方案 > 如何在 Django Rest 中从管理员更改分页大小

问题描述

目前我使用 django-constance,它在 admin 中为我提供了一个可配置值的字段。然后我这样做:

from constance import config

def get_page_pagination_with_custom_page_size(size):
    class CustomPagination(PageNumberPagination):
        page_size = size

    return CustomPagination


class ArticleListViewSet(viewsets.ModelViewSet):

    queryset = Article.objects.all()
    serializer_class = ArticleListSerializer
    filter_backends = [DjangoFilterBackend]
    filterset_class = ArticleListFilterSet
    permission_classes = [AllowAny]
    pagination_class = get_page_pagination_with_custom_page_size(config.article_pagination)


有了这个,我可以将 config.article_pagination 从管理员更改为更改分页,但为了应用所有更改,我需要重新启动服务器。我怎样才能使我的视图类是动态的并“即时”捕捉所有变化?

标签: djangodjango-rest-frameworkpagination

解决方案


推荐阅读