From 3993dcc643466ef689912d40ca516cf15d2efa4f Mon Sep 17 00:00:00 2001 From: sichan Date: Fri, 14 Jun 2024 00:44:17 +0800 Subject: [PATCH] commit --- common/views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/common/views.py b/common/views.py index 78f9d3a..95f1e80 100644 --- a/common/views.py +++ b/common/views.py @@ -150,14 +150,19 @@ def common_excel_parse(request): # 组成 fields_map fields_map = dict(zip(model_fields, model_verbose_name)) + fields_map_nf = dict(zip(model_verbose_name, model_fields)) # 检查表头是否与模型字段名对应 if not set(header_row).issubset(model_verbose_name): return JsonResponse({'error': '表头不匹配,请使用正确的Excel上传模板。'}, status=400) + # 创建一个映射,将Excel表头映射到模型字段名 + header_to_field_map = {header: fields_map_nf[header] for header in header_row} + for row in sheet.iter_rows(min_row=2, values_only=True): if not all(value is None for value in row): - instance_data = dict(zip(model_fields, row)) + # 使用映射来确保每个Excel单元格的数据对应到正确的模型字段 + instance_data = {header_to_field_map[header]: value for header, value in zip(header_row, row)} instance = model(**instance_data) try: instance.full_clean()