diff --git a/apps/tools/serializers/tool.py b/apps/tools/serializers/tool.py index 02d9aaf30..f2901a8cb 100644 --- a/apps/tools/serializers/tool.py +++ b/apps/tools/serializers/tool.py @@ -538,6 +538,7 @@ class ToolSerializer(serializers.Serializer): class ToolTreeSerializer(serializers.Serializer): workspace_id = serializers.CharField(required=True, label=_('workspace id')) + scope = serializers.CharField(required=True, label=_('scope')) def get_tools(self, folder_id): self.is_valid(raise_exception=True) @@ -553,8 +554,11 @@ class ToolTreeSerializer(serializers.Serializer): folders_data = ToolFolderFlatSerializer(child_folders, many=True).data # 获取当前文件夹下的工具 - tools = QuerySet(Tool).filter(Q(workspace_id=self.data.get('workspace_id')) & - Q(folder_id=folder_id)) + tools = QuerySet(Tool).filter( + Q(workspace_id=self.data.get('workspace_id')) & + Q(scope=self.data.get('scope')) & + Q(folder_id=folder_id) + ) tools_data = ToolModelSerializer(tools, many=True).data # 返回包含文件夹和工具的结构 diff --git a/apps/tools/views/tool.py b/apps/tools/views/tool.py index c90db54fb..ee0406675 100644 --- a/apps/tools/views/tool.py +++ b/apps/tools/views/tool.py @@ -68,7 +68,7 @@ class ToolView(APIView): ) def get(self, request: Request, workspace_id: str): return result.success(ToolTreeSerializer( - data={'workspace_id': workspace_id} + data={'workspace_id': workspace_id, 'scope': ToolScope.WORKSPACE, 'user_id': request.user.id} ).get_tools(request.query_params.get('folder_id'))) class Debug(APIView):