default ordering for BO establishments search

This commit is contained in:
Kuroshini 2020-01-13 11:16:02 +03:00
parent dabc63647d
commit 2c888d1c3a
2 changed files with 28 additions and 7 deletions

View File

@ -313,6 +313,15 @@ class EstablishmentDocumentSerializer(InFavoritesMixin, DocumentSerializer):
)
class EstablishmentBackOfficeDocumentSerializer(EstablishmentDocumentSerializer):
class Meta(EstablishmentDocumentSerializer.Meta):
document = EstablishmentDocumentSerializer.Meta.document
fields = EstablishmentDocumentSerializer.Meta.fields + (
'created',
)
class ProductDocumentSerializer(InFavoritesMixin):
"""Product document serializer"""

View File

@ -1,5 +1,5 @@
"""Search indexes app views."""
from django_elasticsearch_dsl_drf import constants
from django_elasticsearch_dsl_drf import constants, pagination
from django_elasticsearch_dsl_drf.filter_backends import (
FilteringFilterBackend,
GeoSpatialOrderingFilterBackend,
@ -321,14 +321,26 @@ class EstablishmentDocumentViewSet(BaseDocumentViewSet):
class EstablishmentBackOfficeViewSet(EstablishmentDocumentViewSet):
filter_backends = EstablishmentDocumentViewSet.filter_backends + [
OrderingFilterBackend
]
def get_queryset(self):
if not self.request.query_params.get('search'):
self.request.GET._mutable = True
self.request.query_params.update({
'ordering': '-created',
})
self.request.GET._mutable = False
return super(EstablishmentBackOfficeViewSet, self).get_queryset()
serializer_class = serializers.EstablishmentBackOfficeDocumentSerializer
pagination_class = pagination.PageNumberPagination
filter_backends = [
FilteringFilterBackend,
filters.CustomSearchFilterBackend,
filters.CustomGeoSpatialFilteringFilterBackend,
GeoSpatialOrderingFilterBackend,
OrderingFilterBackend,
]
ordering_fields = {
'created': {
'field': 'created'
}
'created': 'created',
}