错误返回优化
This commit is contained in:
parent
8789896800
commit
eef50a8920
|
@ -39,7 +39,7 @@ class NotifySetting(CommonAModel):
|
||||||
to_field='code', on_delete=models.CASCADE)
|
to_field='code', on_delete=models.CASCADE)
|
||||||
post = models.ForeignKey(Post, verbose_name='提醒岗位',
|
post = models.ForeignKey(Post, verbose_name='提醒岗位',
|
||||||
on_delete=models.CASCADE, null=True, blank=True)
|
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)
|
filter_area_level = models.PositiveSmallIntegerField('区域级别过滤', null=True, blank=True)
|
||||||
sms_enable = models.BooleanField('短信通知', default=False)
|
sms_enable = models.BooleanField('短信通知', default=False)
|
||||||
wechat_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.core.exceptions import PermissionDenied
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
|
from numpy import isin
|
||||||
from rest_framework import exceptions
|
from rest_framework import exceptions
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.views import set_rollback
|
from rest_framework.views import set_rollback
|
||||||
|
@ -24,11 +25,14 @@ def custom_exception_hander(exc, context):
|
||||||
headers['WWW-Authenticate'] = exc.auth_header
|
headers['WWW-Authenticate'] = exc.auth_header
|
||||||
if getattr(exc, 'wait', None):
|
if getattr(exc, 'wait', None):
|
||||||
headers['Retry-After'] = '%d' % exc.wait
|
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_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:
|
else:
|
||||||
data = {'err_msg': exc.detail, 'err_code': exc.get_codes()}
|
data = {'err_msg': exc.detail, 'err_code': exc.get_codes()}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue