From 2b27f0d2d3ddbdedac0fff4b6e5711a0bfe82988 Mon Sep 17 00:00:00 2001 From: Toksi Date: Thu, 4 Dec 2025 15:37:45 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=20POST=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=81=20=D0=B4=D0=BB=D1=8F=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=BD?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BA=20=D0=BE=D0=BD=D1=86=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=BE=20=D0=BF=D0=B0=D1=80=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D0=B0=D0=BC=20=D0=B2=20JSON=20Body?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project_rates/views.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/project_rates/views.py b/project_rates/views.py index a3942d4f..46309be3 100644 --- a/project_rates/views.py +++ b/project_rates/views.py @@ -133,6 +133,10 @@ class ProjectListForRate(generics.ListAPIView): filterset_class = ProjectFilter pagination_class = RateProjectsPagination + def post(self, request, *args, **kwargs): + """Allow POST with filters in JSON body.""" + return self.list(request, *args, **kwargs) + def _get_program(self) -> PartnerProgram: return PartnerProgram.objects.get(pk=self.kwargs.get("program_id")) @@ -141,10 +145,10 @@ def _get_filters(self) -> dict: Accept filters from JSON body to mirror /partner_programs//projects/filter/: {"filters": {"case": ["Кейс 1"]}} """ + if self.request.method != "POST": + return {} data = getattr(self.request, "data", None) - body_filters = ( - data.get("filters") if isinstance(data, dict) and data.get("filters") else {} - ) + body_filters = data.get("filters") if isinstance(data, dict) else {} return body_filters if isinstance(body_filters, dict) else {} def get_queryset(self) -> QuerySet[Project]: