From eef50a89207604e39a604714ee0a5b81414ce8b4 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Sat, 18 Jun 2022 16:53:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=99=E8=AF=AF=E8=BF=94=E5=9B=9E=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ecm/models.py | 2 +- apps/utils/exceptions.py | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/apps/ecm/models.py b/apps/ecm/models.py index dc9f2de0..13859fc3 100644 --- a/apps/ecm/models.py +++ b/apps/ecm/models.py @@ -39,7 +39,7 @@ class NotifySetting(CommonAModel): to_field='code', on_delete=models.CASCADE) post = models.ForeignKey(Post, verbose_name='提醒岗位', on_delete=models.CASCADE, null=True, blank=True) - filter_sender = models.PositiveSmallIntegerField('提醒人员过滤', null=True, blank=True) + filter_recipient = models.PositiveSmallIntegerField('提醒人员过滤', null=True, blank=True) filter_area_level = models.PositiveSmallIntegerField('区域级别过滤', null=True, blank=True) sms_enable = models.BooleanField('短信通知', default=False) wechat_enable = models.BooleanField('开启微信通知', default=False) diff --git a/apps/utils/exceptions.py b/apps/utils/exceptions.py index 66d5b085..948faff3 100755 --- a/apps/utils/exceptions.py +++ b/apps/utils/exceptions.py @@ -2,6 +2,7 @@ import traceback from django.core.exceptions import PermissionDenied from django.http import Http404 +from numpy import isin from rest_framework import exceptions from rest_framework.response import Response from rest_framework.views import set_rollback @@ -24,11 +25,14 @@ def custom_exception_hander(exc, context): headers['WWW-Authenticate'] = exc.auth_header if getattr(exc, 'wait', None): headers['Retry-After'] = '%d' % exc.wait - - if isinstance(exc.detail, (list, dict)): - data = {'err_detail': exc.detail} + data = {'err_detail': exc.detail} + if isinstance(exc.detail, dict): + prefix = list(exc.detail.keys())[0] data['err_code'] = exc.default_code - data['err_msg'] = exc.default_detail + data['err_msg'] = prefix + str(exc.detail[prefix]) # 取一部分方便前端alert + elif isinstance(exc.detail, list): + data['err_code'] = exc.default_code + data['err_msg'] = str(exc.detail[0]) if exc.detail else '' else: data = {'err_msg': exc.detail, 'err_code': exc.get_codes()}