Merge pull request #11033 from jumpserver/pr@dev@fix_create_serializer_default

perf: 优化动态创建 serializer
pull/11034/head
老广 2023-07-20 15:48:11 +08:00 committed by GitHub
commit 79a2d4e039
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 3 deletions

View File

@ -52,11 +52,14 @@ def create_serializer_class(serializer_name, fields_info):
# 用户定义 default 和 required 可能会冲突, 所以要处理一下
default = data.get('default', None)
if default is not None:
data['required'] = False
else:
if default is None:
data.pop('default', None)
data['required'] = True
elif default == '':
data['required'] = False
data['allow_blank'] = True
else:
data['required'] = False
data = set_default_by_type(field_type, data, field_info)
data = set_default_if_need(data, i)
field_name = data.pop('name')