From dfa66c1d23702864a879490ebd9fdf171d562def Mon Sep 17 00:00:00 2001 From: CaptainB Date: Thu, 26 Jun 2025 15:15:50 +0800 Subject: [PATCH] feat: adjust position handling in paragraph serializer to ensure integer type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1057467 --user=刘瑞斌 【知识库】企业版-知识库文档中添加分段失败 https://www.tapd.cn/62980211/s/1719011 --- apps/knowledge/serializers/paragraph.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/knowledge/serializers/paragraph.py b/apps/knowledge/serializers/paragraph.py index bf3014cf0..ebb068033 100644 --- a/apps/knowledge/serializers/paragraph.py +++ b/apps/knowledge/serializers/paragraph.py @@ -265,12 +265,18 @@ class ParagraphSerializers(serializers.Serializer): paragraph.position = max_position + 1 paragraph.save() # 调整位置 + if 'position' in instance: + if type(instance['position']) is not int: + instance['position'] = max_position + 1 + else: + instance['position'] = max_position + 1 + ParagraphSerializers.AdjustPosition(data={ 'paragraph_id': str(paragraph.id), 'knowledge_id': knowledge_id, 'document_id': document_id, 'workspace_id': self.data.get('workspace_id') - }).adjust_position(instance.get('position', max_position + 1)) + }).adjust_position(instance.get('position')) # 插入問題 QuerySet(Problem).bulk_create(problem_model_list) if len(problem_model_list) > 0 else None # 插入问题关联关系