mirror of https://github.com/jumpserver/jumpserver
perf: 优化 ops 用户提示
parent
3fa80351e0
commit
36aa0d301b
|
@ -158,14 +158,17 @@ class UsernameHintsAPI(APIView):
|
||||||
def post(self, request, **kwargs):
|
def post(self, request, **kwargs):
|
||||||
node_ids = request.data.get('nodes', None)
|
node_ids = request.data.get('nodes', None)
|
||||||
asset_ids = request.data.get('assets', [])
|
asset_ids = request.data.get('assets', [])
|
||||||
|
query = request.data.get('query', None)
|
||||||
|
|
||||||
assets = list(Asset.objects.filter(id__in=asset_ids).all())
|
assets = list(Asset.objects.filter(id__in=asset_ids).all())
|
||||||
|
|
||||||
assets = merge_nodes_and_assets(node_ids, assets, request.user)
|
assets = merge_nodes_and_assets(node_ids, assets, request.user)
|
||||||
|
|
||||||
top_accounts = Account.objects.exclude(username='root') \
|
top_accounts = Account.objects \
|
||||||
.exclude(username__startswith='jms_') \
|
.exclude(username__startswith='jms_') \
|
||||||
|
.filter(username__icontains=query) \
|
||||||
.filter(asset__in=assets) \
|
.filter(asset__in=assets) \
|
||||||
.values('username') \
|
.values('username') \
|
||||||
.annotate(total=Count('username')) \
|
.annotate(total=Count('username')) \
|
||||||
.order_by('total', 'username')[:10]
|
.order_by('total', '-username')[:10]
|
||||||
return Response(data=top_accounts)
|
return Response(data=top_accounts)
|
||||||
|
|
Loading…
Reference in New Issue