Skip to content

Commit bcb2773

Browse files
authored
fix: 修复【知识库】设置中关联应用未显示在高级编排中使用该知识库的应用 (#695)
1 parent 171d1aa commit bcb2773

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

apps/application/serializers/application_serializers.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,7 @@ def publish(self, instance, with_valid=True):
552552
dataset_list = self.list_dataset(with_valid=False)
553553
dataset_id_list = self.update_reverse_search_node(work_flow,
554554
[str(dataset.get('id')) for dataset in dataset_list])
555+
555556
application.work_flow = work_flow
556557
application.save()
557558
# 插入知识库关联关系
@@ -589,7 +590,7 @@ def update_search_node(self, work_flow, user_dataset_id_list: List):
589590

590591
def update_reverse_search_node(self, work_flow, user_dataset_id_list: List):
591592
search_node_list = self.get_search_node(work_flow)
592-
dataset_id_list = []
593+
result_dataset_id_list = []
593594
for search_node in search_node_list:
594595
node_data = search_node.get('properties', {}).get('node_data', {})
595596
dataset_id_list = node_data.get('dataset_id_list', [])
@@ -603,8 +604,8 @@ def update_reverse_search_node(self, work_flow, user_dataset_id_list: List):
603604
source_dataset_id_list = list({*source_dataset_id_list, *dataset_id_list})
604605
node_data['source_dataset_id_list'] = []
605606
node_data['dataset_id_list'] = source_dataset_id_list
606-
dataset_id_list = [*source_dataset_id_list, *dataset_id_list]
607-
return list(set(dataset_id_list))
607+
result_dataset_id_list = [*source_dataset_id_list, *result_dataset_id_list]
608+
return list(set(result_dataset_id_list))
608609

609610
def profile(self, with_valid=True):
610611
if with_valid:
@@ -667,6 +668,8 @@ def edit(self, instance: Dict, with_valid=True):
667668

668669
@staticmethod
669670
def save_application_mapping(dataset_id_list, application_id):
671+
# 需要排除已删除的数据集
672+
dataset_id_list = [dataset.id for dataset in QuerySet(DataSet).filter(id__in=dataset_id_list)]
670673
# 删除已经关联的id
671674
QuerySet(ApplicationDatasetMapping).filter(dataset_id__in=dataset_id_list,
672675
application_id=application_id).delete()

0 commit comments

Comments
 (0)