fix: 导入文档标题不能超过256个字符,修改统一响应异常

This commit is contained in:
shaohuzhang1 2024-03-06 18:37:11 +08:00
parent c575d080c5
commit d266b83d84
3 changed files with 9 additions and 5 deletions

View File

@ -55,18 +55,22 @@ def validation_error_to_result(exc: ValidationError):
return result.error(str(exc.detail))
def find_err_detail(exc_detail: Dict):
def find_err_detail(exc_detail):
if isinstance(exc_detail, ErrorDetail):
return exc_detail
if isinstance(exc_detail, dict):
keys = exc_detail.keys()
for key in keys:
_value = exc_detail[key]
if isinstance(_value, list):
for v in _value:
return v
return find_err_detail(_value)
elif isinstance(_value, ErrorDetail):
return _value
elif isinstance(_value, dict):
return find_err_detail(_value)
if isinstance(exc_detail, list):
for v in exc_detail:
return find_err_detail(v)
def handle_exception(exc, context):

View File

@ -41,7 +41,7 @@ class ParagraphInstanceSerializer(ApiMixin, serializers.Serializer):
min_length=1,
allow_null=True, allow_blank=True)
title = serializers.CharField(required=False, error_messages=ErrMessage.char("段落标题"),
title = serializers.CharField(required=False, max_length=256, error_messages=ErrMessage.char("段落标题"),
allow_null=True, allow_blank=True)
problem_list = ProblemInstanceSerializer(required=False, many=True)

View File

@ -33,7 +33,7 @@ class ProblemSerializer(serializers.ModelSerializer):
class ProblemInstanceSerializer(ApiMixin, serializers.Serializer):
id = serializers.CharField(required=False, error_messages=ErrMessage.char("问题id"))
content = serializers.CharField(required=True, error_messages=ErrMessage.char("问题内容"))
content = serializers.CharField(required=True, max_length=256, error_messages=ErrMessage.char("问题内容"))
@staticmethod
def get_request_body_api():