From 4a7a1fd95c55e7d2eef7088f925fb9428f1b07a2 Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Tue, 27 May 2025 14:28:41 +0800 Subject: [PATCH] perf: Optimize the results returned by the suggestion api for different organizations --- apps/common/api/action.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/common/api/action.py b/apps/common/api/action.py index 627a1468a..9959adcaf 100644 --- a/apps/common/api/action.py +++ b/apps/common/api/action.py @@ -8,6 +8,7 @@ from rest_framework.request import Request from rest_framework.response import Response from common.const.http import POST, PUT +from orgs.utils import current_org __all__ = ['SuggestionMixin', 'RenderToJsonMixin'] @@ -23,7 +24,11 @@ class SuggestionMixin: @action(methods=['get'], detail=False, url_path='suggestions') def match(self, request, *args, **kwargs): - queryset = self.filter_queryset(self.get_queryset()) + queryset = self.get_queryset() + if not request.user.orgs.filter(id=current_org.id).exists(): + queryset = queryset.none() + + queryset = self.filter_queryset(queryset) queryset = queryset[:self.suggestion_limit] page = self.paginate_queryset(queryset)