From 01c55d950ee574a0553f762c21bccb34d0d4e5c2 Mon Sep 17 00:00:00 2001 From: timofejmalinin Date: Sat, 23 Sep 2023 17:50:12 +0400 Subject: [PATCH] fix distances --- deploy/django.yml | 2 +- service/views.py | 29 +++++++++++++++++++++-------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/deploy/django.yml b/deploy/django.yml index 5de4d27..70609e6 100644 --- a/deploy/django.yml +++ b/deploy/django.yml @@ -19,7 +19,7 @@ spec: containers: - name: django image: DEPLOY_IMAGE_TAG - command: ["sh", "-c", "python manage.py migrate && python manage.py runserver 0.0.0.0:${DJANGO_PORT}"] + command: ["sh", "-c", "python manage.py migrate && python manage.py runserver 0.0.0.0:${DJANGO_PORT} --nothreading"] ports: - containerPort: 8000 name: django-port diff --git a/service/views.py b/service/views.py index 251db10..054cbd1 100644 --- a/service/views.py +++ b/service/views.py @@ -115,6 +115,7 @@ class PlacementPointViewSet(ReadOnlyModelViewSet): return fieldset def get_queryset(self): + basename = self.request.parser_context['view'].basename qs = self.queryset.all().order_by('id') location_ids = self.request.GET.get('location_ids[]') prediction_first = self.request.GET.get('prediction_first[]') @@ -186,18 +187,30 @@ class PlacementPointViewSet(ReadOnlyModelViewSet): if group_dists_lt: g_d = [list(g.split(',')) for g in group_dists_lt] for group in g_d: - filtered_points = list( - models.PlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]), - dist__lt=int(group[1])).values_list( - 'placement_point__id', flat=True)) + if basename=='preplacementpoint': + filtered_points = list( + models.PrePlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]), + dist__lt=int(group[1])).values_list( + 'placement_point__id', flat=True)) + else: + filtered_points = list( + models.PlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]), + dist__lt=int(group[1])).values_list( + 'placement_point__id', flat=True)) qs = qs.filter(id__in=filtered_points) if group_dists_gt: g_d = [list(g.split(',')) for g in group_dists_gt] for group in g_d: - filtered_points = list( - models.PlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]), - dist__gt=int(group[1])).values_list( - 'placement_point__id', flat=True)) + if basename=='preplacementpoint': + filtered_points = list( + models.PrePlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]), + dist__gt=int(group[1])).values_list( + 'placement_point__id', flat=True)) + else: + filtered_points = list( + models.PlacementPointPVZDistance.objects.filter(pvz_postamates_group__id=int(group[0]), + dist__gt=int(group[1])).values_list( + 'placement_point__id', flat=True)) qs = qs.filter(id__in=filtered_points) return qs