From 1b2eda51e33d14c0482ce8d9efd5f69c1853a54b Mon Sep 17 00:00:00 2001 From: Eric Date: Wed, 9 Nov 2022 16:14:25 +0800 Subject: [PATCH] perf: get host applet by name --- apps/terminal/api/applet/relation.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/terminal/api/applet/relation.py b/apps/terminal/api/applet/relation.py index 513be6aab..e31c6ba5c 100644 --- a/apps/terminal/api/applet/relation.py +++ b/apps/terminal/api/applet/relation.py @@ -8,6 +8,7 @@ from rest_framework.response import Response from common.drf.api import JMSModelViewSet from common.permissions import IsServiceAccount +from common.utils import is_uuid from orgs.utils import tmp_to_builtin_org from rbac.permissions import RBACPermission from terminal.models import AppletHost @@ -63,6 +64,13 @@ class AppletHostAppletViewSet(HostMixin, JMSModelViewSet): host: AppletHost serializer_class = AppletPublicationSerializer + def get_object(self): + pk = self.kwargs.get('pk') + if not is_uuid(pk): + return self.host.publications.get(applet__name=pk) + else: + return self.host.publications.get(pk=pk) + def get_queryset(self): queryset = self.host.publications.all() return queryset