Я пытаюсь загрузить CSV-файл в мои django проекты и сохранить данные в моей модели. Проблема в том, что я получаю индекс списка вне диапазона, но данные загружаются правильно и сохраняются в модели. Может кто-нибудь, пожалуйста, помогите мне решить эту проблему?
это мой метод в views.py:
def admin_upload (запрос): template = "admin_upload. html"
prompt = {
'order': 'CSV fichier cef, cin, nom, prenom, group, module, note_1, note_2, note_EFM'
}
if request.method == "GET":
return render(request, template, prompt)
csv_file = request.FILES['file']
if not csv_file.name.endswith('.csv'):
messages.error(request, 'Please upload a CSV file')
data_set = csv_file.read().decode('UTF-8')
io_string = io.StringIO(data_set)
next(io_string)
for column in csv.reader(io_string, delimiter=',', quotechar='|'):
_, created = Note.objects.update_or_create(
cef=column[0],
cin=column[1],
nom=column[2],
prenom=column[3],
group=column[4],
module=column[5],
note_1=column[6],
note_2=column[7],
note_EFM=column[8]
)
context = {}
return render(request, template, context)
моя модель:
Примечание класса (models.Model):
cef = models.CharField(max_length=30, unique=True)
cin = models.CharField(max_length=30)
nom = models.CharField(max_length=50)
prenom = models.CharField(max_length=50)
group = models.CharField(max_length=10)
module = models.CharField(max_length=30)
note_1 = models.CharField(max_length=5)
note_2 = models.CharField(max_length=5)
note_EFM = models.CharField(max_length=5)
Когда я загружаю CSV-файл, данные загружаются, но я получаю индекс списка из-за ошибки диапазона :
IndexError at /import/
list index out of range
Request Method: POST
Request URL: http://127.0.0.1:8000/import/
Django Version: 3.0.2
Exception Type: IndexError
Exception Value:
list index out of range
Exception Location: C:\Users\HP\djangopro\IstaWebSite\ista_larache\web_ista\views.py in admin_upload, line 122
Python Executable: C:\Users\HP\Envs\projectf_f\Scripts\python.exe
Python Version: 3.8.1
Python Path:
['C:\\Users\\HP\\djangopro\\IstaWebSite\\ista_larache',
'C:\\Users\\HP\\Envs\\projectf_f\\Scripts\\python38.zip',
'C:\\Users\\HP\\Envs\\projectf_f\\DLLs',
'C:\\Users\\HP\\Envs\\projectf_f\\lib',
'C:\\Users\\HP\\Envs\\projectf_f\\Scripts',
'c:\\users\\hp\\appdata\\local\\programs\\python\\python38-32\\Lib',
'c:\\users\\hp\\appdata\\local\\programs\\python\\python38-32\\DLLs',
'C:\\Users\\HP\\Envs\\projectf_f',
'C:\\Users\\HP\\Envs\\projectf_f\\lib\\site-packages',
'C:\\Users\\HP\\Envs\\projectf_f\\lib\\site-packages\\odf',
'C:\\Users\\HP\\Envs\\projectf_f\\lib\\site-packages\\odf',
'C:\\Users\\HP\\Envs\\projectf_f\\lib\\site-packages\\odf',
'C:\\Users\\HP\\Envs\\projectf_f\\lib\\site-packages\\odf',
'C:\\Users\\HP\\Envs\\projectf_f\\lib\\site-packages\\odf',
'C:\\Users\\HP\\Envs\\projectf_f\\lib\\site-packages\\odf',
'C:\\Users\\HP\\Envs\\projectf_f\\lib\\site-packages\\odf']
Server time: Tue, 17 Mar 2020 23:33:59 +0100
Мой CSV-файл:
cef, cin, nom, prenom, группа, модуль, note_1, note_2, note_EFM
15474620, la561651, zaed, Aqqdd , dqzx, Asdxdd, 10, 20, 12