mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-13 22:09:17 +00:00
perf: finish this feat (#14079)
* perf: basic finished * perf: finish this feat * perf: add datetime demo --------- Co-authored-by: ibuler <ibuler@qq.com>
This commit is contained in:
@@ -119,8 +119,6 @@ class BaseFileParser(BaseParser):
|
||||
value = field.to_file_internal_value(value)
|
||||
elif isinstance(field, serializers.BooleanField):
|
||||
value = value.lower() in ['true', '1', 'yes']
|
||||
elif isinstance(field, serializers.ChoiceField):
|
||||
value = value
|
||||
elif isinstance(field, ObjectRelatedField):
|
||||
if field.many:
|
||||
value = [self.id_name_to_obj(v) for v in value]
|
||||
@@ -164,6 +162,15 @@ class BaseFileParser(BaseParser):
|
||||
data.append(row_data)
|
||||
return data
|
||||
|
||||
@staticmethod
|
||||
def pop_help_text_if_need(rows):
|
||||
rows = list(rows)
|
||||
if not rows:
|
||||
return rows
|
||||
if rows[0][0] == '#Help':
|
||||
rows.pop(0)
|
||||
return rows
|
||||
|
||||
def parse(self, stream, media_type=None, parser_context=None):
|
||||
assert parser_context is not None, '`parser_context` should not be `None`'
|
||||
|
||||
@@ -192,6 +199,7 @@ class BaseFileParser(BaseParser):
|
||||
request.jms_context = {}
|
||||
request.jms_context['column_title_field_pairs'] = column_title_field_pairs
|
||||
|
||||
rows = self.pop_help_text_if_need(rows)
|
||||
data = self.generate_data(field_names, rows)
|
||||
return data
|
||||
except Exception as e:
|
||||
|
Reference in New Issue
Block a user