Skip to content

Commit bdba4bc

Browse files
committed
refactor: improve knowledge editing logic to prevent name duplication
--bug=1057801 --user=刘瑞斌 【知识库】不同文件夹下创建相同名称的知识库成功,当切换知识库向量模型时会提示知识库名称重复 https://www.tapd.cn/62980211/s/1721429
1 parent de68eef commit bdba4bc

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

apps/knowledge/serializers/knowledge.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -325,13 +325,13 @@ def one(self):
325325
@transaction.atomic
326326
def edit(self, instance: Dict):
327327
self.is_valid()
328+
knowledge = QuerySet(Knowledge).get(id=self.data.get("knowledge_id"))
328329
if QuerySet(Knowledge).filter(
329-
workspace_id=self.data.get('workspace_id'),
330+
workspace_id=knowledge.workspace_id,
330331
name=instance.get('name'),
331-
folder_id=instance.get('folder_id', self.data.get('workspace_id'))
332-
).exclude(id=self.data.get('knowledge_id')).exists():
332+
folder_id=knowledge.folder_id
333+
).exclude(id=knowledge.id).exists():
333334
raise AppApiException(500, _('Knowledge base name duplicate!'))
334-
knowledge = QuerySet(Knowledge).get(id=self.data.get("knowledge_id"))
335335
KnowledgeEditRequest(data=instance).is_valid(knowledge=knowledge)
336336
if 'embedding_model_id' in instance:
337337
knowledge.embedding_model_id = instance.get('embedding_model_id')

0 commit comments

Comments
 (0)