Wagtail-API: django -фильтр (2.2.0) не работает с API - PullRequest
0 голосов
/ 25 марта 2020

Я пытался запустить django -фильтр (https://pypi.org/project/django-filter/) с wagtail-api, но, похоже, он не работает. Может быть, я сделал что-то не так.

Заранее спасибо за помощь.

Этот мой класс я использовал для api / v2 ( Изображение без кнопки фильтра на основе PagesAPIEndpoint ):

class MyPageClass(PagesAPIEndpoint):
model = HomePage
PagesAPIEndpoint.filter_backends = (filters.DjangoFilterBackend,)
PagesAPIEndpoint.filterset_fields = {
    'title': ['icontains'],
    'id': ['exact'],
}

class Meta:
    fields = (
        'title',
        'id',
        'tags',
    )

Я пробовал также эту версию для API / V2:

class MyPageClass(PagesAPIEndpoint):
model = HomePage
filter_backends = (filters.DjangoFilterBackend,)
filterset_fields = {
    'title': ['icontains'],
    'id': ['exact'],
}

class Meta:
    fields = (
        'title',
        'id',
        'tags',
    )

И это мой код для моей пользовательской конечной точки для страниц ( Изображение на основе кнопки фильтра на моей собственной конечной точке ):

class WebPageListAPIView(ListAPIView):
queryset = WebPage.objects.all()
serializer_class = PagesSerializer
filter_backends = (filters.DjangoFilterBackend,)
filterset_fields = {
    'profiles': ['exact'],
    'tags': ['exact'],
}

Обычно, если я использую django -фильтр, он отобразит кнопку фильтра в браузере API, но не с PagesAPIEndpoint.

...