From 7b2c8b3c4d7f8e2d7f0b07ccf574d41a2a7b0a7a Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 15 Aug 2024 15:53:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20base=20handle=5Fparent=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/utils/models.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/utils/models.py b/apps/utils/models.py index 2e5e6bad..3a18d461 100755 --- a/apps/utils/models.py +++ b/apps/utils/models.py @@ -6,6 +6,7 @@ from django.db.models.query import QuerySet from apps.utils.snowflake import idWorker from django.db import IntegrityError from django.db import transaction +from rest_framework.exceptions import ParseError # 自定义软删除查询基类 @@ -63,18 +64,18 @@ class ParentModel(models.Model): link = [] if self.parent is not None: if self.parent == self: - raise Exception(f'{self.__class__.__name__}-{self.id}-存在循环引用') + raise ParseError(f'{self.__class__.__name__}-{self.id}-存在循环引用') link = [self.parent.id] # 一级 if self.parent.parent is not None: # 二级 if self.parent.parent == self: - raise Exception(f'{self.__class__.__name__}-{self.id}-存在循环引用') + raise ParseError(f'{self.__class__.__name__}-{self.id}-存在循环引用') link.insert(0, self.parent.parent.id) if self.parent.parent.parent is not None: # 三级 if self.parent.parent.parent == self: - raise Exception(f'{self.__class__.__name__}-{self.id}-存在循环引用') + raise ParseError(f'{self.__class__.__name__}-{self.id}-存在循环引用') link.insert(0, self.parent.parent.parent.id) if self.parent.parent.parent.parent is not None: - raise Exception(f'{self.__class__.__name__}-{self.id}-最多支持四级') + raise ParseError(f'{self.__class__.__name__}-{self.id}-最多支持四级') return link def handle_parent(self):