From 6f69c8beb839eed02a60845e94121bccca65d5bf Mon Sep 17 00:00:00 2001 From: CaptainB Date: Mon, 18 Aug 2025 17:10:36 +0800 Subject: [PATCH] fix: add existence check for ProblemParagraphMapping association --- apps/dataset/serializers/paragraph_serializers.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/dataset/serializers/paragraph_serializers.py b/apps/dataset/serializers/paragraph_serializers.py index 3a63fd95c..9b6e096ba 100644 --- a/apps/dataset/serializers/paragraph_serializers.py +++ b/apps/dataset/serializers/paragraph_serializers.py @@ -226,6 +226,14 @@ class ParagraphSerializers(ApiMixin, serializers.Serializer): def association(self, with_valid=True, with_embedding=True): if with_valid: self.is_valid(raise_exception=True) + # 已关联则直接返回 + if QuerySet(ProblemParagraphMapping).filter( + dataset_id=self.data.get('dataset_id'), + document_id=self.data.get('document_id'), + paragraph_id=self.data.get('paragraph_id'), + problem_id=self.data.get('problem_id') + ).exists(): + return True problem = QuerySet(Problem).filter(id=self.data.get("problem_id")).first() problem_paragraph_mapping = ProblemParagraphMapping(id=uuid.uuid1(), document_id=self.data.get('document_id'),