CSV в Django Models определенные поля
Я пытаюсь загрузить CSV в Django Model. Проблема, с которой я столкнулся, заключается в том, как я могу записать данные из CSV в каждое из полей без использования индексов? Вместо этого записывать непосредственно имя поля из CSV.
with open(obj.file_name.path, 'r', encoding="utf-8") as f:
reader = csv.reader(f)
review_count = 0
for i, row in enumerate(reader):
review_count += 1
print(i)
if i==0:
pass
else:
OrderProcessModel.objects.create(
order_id=row[0],
order_date=row[1],
external_id=row[2],
email=row[3],
first_name=row[4],
last_name=row[5],
quantity=row[6],
product_id=row[7],
owner=request.user
)
print(row)
obj.activated = True
obj.save()
Например, для order_id=row[0], как я могу конкретно записать данные в order_id без использования row[0]? Например, order_id=row['order_id'] не работает.
Спасибо!
Посмотрите csv.DictReader (docs)
import csv
with open(obj.file_name.path, 'r', encoding="utf-8") as f:
reader = csv.DictReader(f)
for row in reader:
# row is a dictionary
print(row['order_id'], row['order_date'])
Если вам интересно, как превратить словарь в объект, взгляните на это: Можно ли передавать словарь в модели django при создании?