From 7ee7a512003b955a2105bb5c4a4b5b00315c48bb Mon Sep 17 00:00:00 2001 From: CaptainB Date: Tue, 15 Jul 2025 10:56:59 +0800 Subject: [PATCH] feat: enhance edit method to support select_one parameter in KnowledgeSerializer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1058726 --user=刘瑞斌 【共享知识库】编辑非本人创建的共享知识库报错 https://www.tapd.cn/62980211/s/1731246 --- apps/knowledge/serializers/knowledge.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/knowledge/serializers/knowledge.py b/apps/knowledge/serializers/knowledge.py index 3adb01d89..45f0b4dd5 100644 --- a/apps/knowledge/serializers/knowledge.py +++ b/apps/knowledge/serializers/knowledge.py @@ -353,7 +353,7 @@ class KnowledgeSerializer(serializers.Serializer): } @transaction.atomic - def edit(self, instance: Dict): + def edit(self, instance: Dict, select_one: True): self.is_valid() knowledge = QuerySet(Knowledge).get(id=self.data.get("knowledge_id")) if QuerySet(Knowledge).filter( @@ -404,7 +404,9 @@ class KnowledgeSerializer(serializers.Serializer): ]) if len(application_id_list) > 0 else None knowledge.save() - return self.one() + if select_one: + return self.one() + return None @transaction.atomic def delete(self):