Django -фильтрация и постраничная расстановка страниц бесконечно добавляет запрос - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть набор настроек с настройками, похожими на приведенные ниже

class JobPostViewSet(viewsets.ModelViewSet):
    ...
    filter_backends = (DjangoFilterBackend,)
    filterset_class = filters.JobPostFilter

    pagination_class = DefaultCursorPagination

Мой фильтр такой, как показано ниже

class JobPostFilter(FilterSet):
    class Meta:
        model = models.JobPost
        fields = {
            'company__type': [
                'in'
            ],
            'approval_status': [
                'exact'
            ],
            'sex': [
                'in'
            ],
            'education': [
                'in'
            ],
            'business_strategy': [
                'in',
            ],
            'base_salary': [
                'in'
            ],
            'settlement_support': [
                'in'
            ],
            'scout_royalty': [
                'in'
            ],
            'mortgage': [
                'in'
            ],
            'db_availability': [
                'in'
            ],
            'experience': [
                'in'
            ]
        }

По умолчанию нумерация курсоров указана ниже

class DefaultCursorPagination(CursorPagination):
    ordering = '-id'

Когда я отправляю запрос нумерации страниц на http://localhost/api/paginate?approval_status=true, я получаю дополнительные ?approval_status=true, добавляемые к URL каждый раз, когда я разбиваю на страницы.

Например, nextLink значение из первой пагинации с django возвращает http://localhost/api/paginate?approval_status=true&approval_status=true&cursor=xxx. Следующая пагинация возвращает http://localhost/api/paginate?approval_status=true&approval_status=true&approval_status=true&cursor=xxx и так далее, бесконечно добавляя существующие параметры запроса. Как сделать так, чтобы параметры запроса не дублировались?

...