chore: update export_zip to include knowledge name in filename

--bug=1061385 --user=刘瑞斌 【知识库】导出的知识库名字都为archive https://www.tapd.cn/62980211/s/1768251
v3.2
CaptainB 2025-09-05 11:37:09 +08:00
parent 59164d86dd
commit 689391384e
1 changed files with 2 additions and 1 deletions

View File

@ -453,6 +453,7 @@ class KnowledgeSerializer(serializers.Serializer):
def export_zip(self, with_valid=True): def export_zip(self, with_valid=True):
if with_valid: if with_valid:
self.is_valid(raise_exception=True) self.is_valid(raise_exception=True)
knowledge = QuerySet(Knowledge).filter(id=self.data.get("knowledge_id")).first()
document_list = QuerySet(Document).filter(knowledge_id=self.data.get('knowledge_id')) document_list = QuerySet(Document).filter(knowledge_id=self.data.get('knowledge_id'))
paragraph_list = native_search( paragraph_list = native_search(
QuerySet(Paragraph).filter(knowledge_id=self.data.get("knowledge_id")), QuerySet(Paragraph).filter(knowledge_id=self.data.get("knowledge_id")),
@ -472,7 +473,7 @@ class KnowledgeSerializer(serializers.Serializer):
workbook = DocumentSerializers.Operate.get_workbook(data_dict, document_dict) workbook = DocumentSerializers.Operate.get_workbook(data_dict, document_dict)
response = HttpResponse(content_type='application/zip') response = HttpResponse(content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename="archive.zip"' response['Content-Disposition'] = f'attachment; filename="{knowledge.name}.zip"'
zip_buffer = io.BytesIO() zip_buffer = io.BytesIO()
with TemporaryDirectory() as tempdir: with TemporaryDirectory() as tempdir:
knowledge_file = os.path.join(tempdir, 'knowledge.xlsx') knowledge_file = os.path.join(tempdir, 'knowledge.xlsx')