我花了相当长的时间来弄清楚这一点。我只是尝试使用Python的CSV模块和Django的get_or_create()导入csv文件。
这是我的简单代码(基于this代码构建):
import csv
from .models import Person
def import_data():
with open('/path/to/csv/people_list.csv') as f:
reader = csv.reader(f)
for row in reader:
_, created = Person.objects.get_or_create(
name=row[0],
p_id=row[1],
current_status=row[2],
)
当我在外壳上运行import_data()时,我得到以下错误
peoplelisting.models.DoesNotExist: Person matching query does not exist.
是的,这个特定的人并不存在,但这不就是使用get_or_create()的全部意义吗?如果它不存在,创建它吗?
发布于 2018-07-17 07:27:31
你可以跳过第一行,而不是每次都检查行:
next(reader, None) # skip the headers
https://stackoverflow.com/questions/43114679
复制相似问题