gault-millau/apps/search_indexes/views.py
2019-09-06 17:34:21 +03:00

40 lines
1.1 KiB
Python

"""Search indexes app views."""
from rest_framework import permissions
from django_elasticsearch_dsl_drf.viewsets import BaseDocumentViewSet
from django_elasticsearch_dsl_drf.pagination import PageNumberPagination
from search_indexes import serializers
from search_indexes.documents import NewsDocument
# from django_elasticsearch_dsl_drf.constants import (
# LOOKUP_QUERY_IN,
# LOOKUP_QUERY_GT,
# )
#
from django_elasticsearch_dsl_drf.filter_backends import (
FilteringFilterBackend,
IdsFilterBackend,
OrderingFilterBackend,
SearchFilterBackend,
DefaultOrderingFilterBackend,
)
class NewsDocumentViewSet(BaseDocumentViewSet):
"""News document ViewSet."""
document = NewsDocument
lookup_field = 'id'
pagination_class = PageNumberPagination
permission_classes = (permissions.AllowAny,)
serializer_class = serializers.NewsDocumentSerializer
ordering = ('id',)
#
filter_backends = [
# DefaultOrderingFilterBackend,
# FilteringFilterBackend,
SearchFilterBackend,
]
#
# search_fields = (
# 'playlist', 'title', 'subtitle', 'description'
# )