mirror of https://github.com/jumpserver/jumpserver
perf: Optimize the results returned by the suggestion api for different organizations
parent
56268433e0
commit
4a7a1fd95c
|
@ -8,6 +8,7 @@ from rest_framework.request import Request
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
from common.const.http import POST, PUT
|
from common.const.http import POST, PUT
|
||||||
|
from orgs.utils import current_org
|
||||||
|
|
||||||
__all__ = ['SuggestionMixin', 'RenderToJsonMixin']
|
__all__ = ['SuggestionMixin', 'RenderToJsonMixin']
|
||||||
|
|
||||||
|
@ -23,7 +24,11 @@ class SuggestionMixin:
|
||||||
|
|
||||||
@action(methods=['get'], detail=False, url_path='suggestions')
|
@action(methods=['get'], detail=False, url_path='suggestions')
|
||||||
def match(self, request, *args, **kwargs):
|
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]
|
queryset = queryset[:self.suggestion_limit]
|
||||||
page = self.paginate_queryset(queryset)
|
page = self.paginate_queryset(queryset)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue