perf: 优化动态创建 serializer

pull/11033/head
ibuler 2023-07-20 15:44:52 +08:00
parent 19b91a6c1f
commit 4f5e360991
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')