错误返回优化
This commit is contained in:
parent
8789896800
commit
eef50a8920
|
@ -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)
|
||||
|
|
|
@ -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()}
|
||||
|
||||
|
|
Loading…
Reference in New Issue