def history_file_save(request): """ Сохранение данных в базу""" if request.POST: if 'excel_file_data' not in request.session: error_message = 'Данные файла отсуствуют' return JsonResponse({'message': error_message}, status=400) user = request.user upload_save = UploadHistory(user_info=user.last_name + ' ' + user.first_name, file_name=request.FILES["file"], file_path=request.FILES["file"]) History.objects.all().delete() sort = 1 result_data = json.loads(request.session['excel_file_data']) excel_headers_list = json.loads(request.session['excel_headers']) for data in result_data: check_history = History.objects.filter( sa_code=data[excel_headers_list.index('SA_code')]).exists() if not check_history: save_history = History( branch_name=data[excel_headers_list.index('Branch_Name')], sa_code=data[excel_headers_list.index('SA_code')].lower(), full_name=data[excel_headers_list.index('SA_Name')], kpi_val=json.dumps(data[3]), kpi_key=json.dumps(data[4]), progress_val=json.dumps(data[5]), progress_key=json.dumps(data[6]), sort_id=sort) save_history.save() sort += 1 else: error_message = 'У вас дублирующий SA код {} в файле. Исправьте или удалите запись'.format( data[excel_headers_list.index('SA_code')]) return JsonResponse( { 'message': error_message, 'title': 'Ошибка', 'status': 'error' }, status=200) upload_save.save() return JsonResponse( { 'message': 'Данные успешно сохранены', 'title': 'Успешно', 'status': 'success' }, status=200) else: return JsonResponse( { 'message': 'Неподдерживаемый метод get', 'title': 'Ошибка', 'status': 'error' }, status=400)