diff --git a/apps/tools/serializers/tool.py b/apps/tools/serializers/tool.py index 2730a6b6b..e3bcf0bcc 100644 --- a/apps/tools/serializers/tool.py +++ b/apps/tools/serializers/tool.py @@ -18,7 +18,7 @@ from common.result import result from common.utils.tool_code import ToolExecutor from maxkb.const import CONFIG from tools.models import Tool, ToolScope, ToolFolder -from tools.serializers.tool_folder import ToolFolderTreeSerializer +from tools.serializers.tool_folder import ToolFolderFlatSerializer tool_executor = ToolExecutor(CONFIG.get('SANDBOX')) @@ -333,7 +333,7 @@ class ToolTreeSerializer(serializers.Serializer): # 获取当前文件夹下的直接子文件夹 child_folders = ToolFolder.objects.filter(parent=current_folder) - folders_data = ToolFolderTreeSerializer(child_folders, many=True).data + folders_data = ToolFolderFlatSerializer(child_folders, many=True).data # 获取当前文件夹下的工具 tools = QuerySet(Tool).filter(Q(workspace_id=self.data.get('workspace_id')) & diff --git a/apps/tools/serializers/tool_folder.py b/apps/tools/serializers/tool_folder.py index e8dfb6dc5..28a938f17 100644 --- a/apps/tools/serializers/tool_folder.py +++ b/apps/tools/serializers/tool_folder.py @@ -14,3 +14,11 @@ class ToolFolderTreeSerializer(serializers.ModelSerializer): def get_children(self, obj): return ToolFolderTreeSerializer(obj.get_children(), many=True).data + + +class ToolFolderFlatSerializer(serializers.ModelSerializer): + """只序列化当前层的文件夹,不包含子节点""" + + class Meta: + model = ToolFolder + fields = ['id', 'name', 'user_id', 'workspace_id', 'parent_id']