批量存在检查+保存 - Django

Rad*_*Hex 5 python sql sql-server django django-models

  • 我有一个CSV文件,列出了需要存储在数据库中的项目。

  • 我需要检查哪些项目尚未存储,如果未存储,我需要将它们保存在数据库中。

  • 2-5 百万行。


该模型是 Django 的 User 模型。

我有一个以下形式的 CSV 文件:

项目 ID、姓氏保单编号、性别、职务、开始日期

这是代码:

import csv

reader = csv.reader(open('items.csv', 'rb'))

for index, row in enumerate(reader):
    if User.objects.filter(username=row[2]).count():
        continue
    try:
        user = User(username=row[2],last_name=row[1],password='*')
        user.save()
    except Exception, e:
        print e
    del user
    del row
    del index
Run Code Online (Sandbox Code Playgroud)

您有什么方法可以推荐吗?

The*_*eve 1

您将需要加载 CSV 文件,然后使用 get_object_or_create 方法遍历每一行来检查对象是否存在,如果不存在,它将为您创建它。如果您向我们展示 models.py 代码,我们也许能够更具体地帮助您。