Как сделать размер пагинации изменяемым из администратора в Django Rest
В настоящее время я использую django-constance, который дает мне поля в админке с настраиваемыми значениями. А затем я делаю следующее:
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 из админки, чтобы изменить пагинацию, но для того, чтобы применить все изменения, мне нужно перезапустить сервер. Как я могу сделать класс представления динамическим и улавливать все изменения "на лету"?