GM-73 added ordering
This commit is contained in:
parent
75f75ba3fd
commit
69f1a5cf48
|
|
@ -129,7 +129,7 @@ class EstablishmentQuerySet(models.QuerySet):
|
|||
then=10
|
||||
),
|
||||
default='public_mark',
|
||||
output_field=models.PositiveSmallIntegerField()))
|
||||
output_field=models.FloatField()))
|
||||
|
||||
def annotate_additional_mark(self, public_mark: float):
|
||||
"""
|
||||
|
|
@ -159,10 +159,12 @@ class EstablishmentQuerySet(models.QuerySet):
|
|||
Required fields: distance_mark, additional_mark.
|
||||
Fields
|
||||
Description:
|
||||
Annotated field is obtained by adding the distance and additional marks.
|
||||
Annotated field is obtained by formula:
|
||||
(distance + additional marks) * intermediate_public_mark.
|
||||
"""
|
||||
return self.annotate(total_mark=models.F('distance_mark') +
|
||||
models.F('additional_mark'))
|
||||
return self.annotate(
|
||||
total_mark=(models.F('distance_mark') + models.F('additional_mark')) *
|
||||
models.F('intermediate_public_mark'))
|
||||
|
||||
def similar(self, establishment_pk: int):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ from utils.views import JWTGenericViewMixin
|
|||
from establishment.views import EstablishmentMixin
|
||||
|
||||
|
||||
class EstablishmentListView(EstablishmentMixin, JWTGenericViewMixin, generics.ListAPIView):
|
||||
class EstablishmentListView(EstablishmentMixin, generics.ListAPIView):
|
||||
"""Resource for getting a list of establishments."""
|
||||
serializer_class = serializers.EstablishmentListSerializer
|
||||
filter_class = filters.EstablishmentFilter
|
||||
|
|
@ -29,9 +29,9 @@ class EstablishmentSimilarListView(EstablishmentListView):
|
|||
|
||||
def get_queryset(self):
|
||||
"""Override get_queryset method"""
|
||||
qs = super(EstablishmentListView, self).get_queryset()
|
||||
qs = super().get_queryset()
|
||||
return qs.similar(establishment_pk=self.kwargs.get('pk'))\
|
||||
.order_by('?')[:13]
|
||||
.order_by('-total_mark')[:13]
|
||||
|
||||
|
||||
class EstablishmentRetrieveView(EstablishmentMixin, JWTGenericViewMixin, generics.RetrieveAPIView):
|
||||
|
|
|
|||
|
|
@ -32,4 +32,4 @@ ELASTICSEARCH_INDEX_NAMES = {
|
|||
sentry_sdk.init(
|
||||
dsn="https://35d9bb789677410ab84a822831c6314f@sentry.io/1729093",
|
||||
integrations=[DjangoIntegration()]
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user