Я экспортировал файлы CSV из базы данных и хотел бы сохранить информацию CSV в моих моделях Django.Я получаю проблему ValueError.
Я пытался преобразовать строку в целое число в моих файлах .py
load_vendor_data.py
import csv
from polls.models import Vendors
with open('../data/csv/Vendors.csv') as cap:
reader = csv.reader(cap)
# i = 0
for row in reader:
vendors = Vendors(row[0],row[1],row[2])
vendors.save()
# i = i + 1
models.py
class Vendors(models.Model):
name = models.CharField(max_length=100)
location = models.CharField(max_length=100)
price_range = models.CharField(max_length=100)
def __str__(self):
return self.name
class Act(models.Model):
Name = models.CharField(max_length=100)
Stage = models.CharField(max_length=100)
Start_Time = models.TimeField()
End_Time = models.TimeField()
Date = models.DateField()
def __str__(self):
return self.name
Stacktrace
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Users\tawhi\project\2019-ca472-John-Tawhid\festimaps\polls\load_vendor_data.py", line 9, in <module>
vendors.save()
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\base.py", line 807, in save
force_update=force_update, update_fields=update_fields)
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\base.py", line 837, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\base.py", line 904, in _save_table
forced_update)
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\base.py", line 934, in _do_update
filtered = base_qs.filter(pk=pk_val)
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\query.py", line 784, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\query.py", line 802, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\sql\query.py", line 1250, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\sql\query.py", line 1276, in _add_q
allow_joins=allow_joins, split_subq=split_subq,
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\sql\query.py", line 1210, in build_filter
condition = self.build_lookup(lookups, col, value)
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\sql\query.py", line 1104, in build_lookup
return final_lookup(lhs, rhs)
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\lookups.py", line 24, in __init__
self.rhs = self.get_prep_lookup()
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\lookups.py", line 74, in get_prep_lookup
return self.lhs.output_field.get_prep_value(self.rhs)
File "C:\Users\tawhi\project\cfehome\lib\site-packages\django\db\models\fields\__init__.py", line 966, in get_prep_value
return int(value)
ValueError: invalid literal for int() with base 10: 'Umi Falafel'
Я не ожидаю ошибок при импорте файлов CSV в django db