perf: get host applet by name

pull/9035/head
Eric 2022-11-09 16:14:25 +08:00
parent cf4744791a
commit 1b2eda51e3
1 changed files with 8 additions and 0 deletions

View File

@ -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