40 lines
1.1 KiB
Python
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'
|
|
# ) |