From e185f714bde448a65b3c9b9d3abdf8181a260c00 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Wed, 3 Jul 2024 14:40:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E3=80=90=E7=9F=A5?= =?UTF-8?q?=E8=AF=86=E5=BA=93=E3=80=91=E8=AE=BE=E7=BD=AE=E4=B8=AD=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=BA=94=E7=94=A8=E6=9C=AA=E6=98=BE=E7=A4=BA=E5=9C=A8?= =?UTF-8?q?=E9=AB=98=E7=BA=A7=E7=BC=96=E6=8E=92=E4=B8=AD=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E8=AF=A5=E7=9F=A5=E8=AF=86=E5=BA=93=E7=9A=84=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/application/serializers/application_serializers.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/application/serializers/application_serializers.py b/apps/application/serializers/application_serializers.py index 189b70d4842..7c051bcf1ff 100644 --- a/apps/application/serializers/application_serializers.py +++ b/apps/application/serializers/application_serializers.py @@ -552,6 +552,7 @@ def publish(self, instance, with_valid=True): dataset_list = self.list_dataset(with_valid=False) dataset_id_list = self.update_reverse_search_node(work_flow, [str(dataset.get('id')) for dataset in dataset_list]) + application.work_flow = work_flow application.save() # 插入知识库关联关系 @@ -589,7 +590,7 @@ def update_search_node(self, work_flow, user_dataset_id_list: List): def update_reverse_search_node(self, work_flow, user_dataset_id_list: List): search_node_list = self.get_search_node(work_flow) - dataset_id_list = [] + result_dataset_id_list = [] for search_node in search_node_list: node_data = search_node.get('properties', {}).get('node_data', {}) 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): source_dataset_id_list = list({*source_dataset_id_list, *dataset_id_list}) node_data['source_dataset_id_list'] = [] node_data['dataset_id_list'] = source_dataset_id_list - dataset_id_list = [*source_dataset_id_list, *dataset_id_list] - return list(set(dataset_id_list)) + result_dataset_id_list = [*source_dataset_id_list, *result_dataset_id_list] + return list(set(result_dataset_id_list)) def profile(self, with_valid=True): if with_valid: @@ -667,6 +668,8 @@ def edit(self, instance: Dict, with_valid=True): @staticmethod def save_application_mapping(dataset_id_list, application_id): + # 需要排除已删除的数据集 + dataset_id_list = [dataset.id for dataset in QuerySet(DataSet).filter(id__in=dataset_id_list)] # 删除已经关联的id QuerySet(ApplicationDatasetMapping).filter(dataset_id__in=dataset_id_list, application_id=application_id).delete()