Я делаю bulk_create
в Django
из загруженного csv
файла. Я использую ignore_conflicts=True
, чтобы игнорировать дубликаты, но, похоже, это не работает, я бы хотел проверить duplicates
, основываясь только на одном столбце в данных csv
. Позвольте мне объяснить;
Мои данные выглядят так:
name address number
aaa bbbb 090
Я хотел бы проверить, существует ли такой же number
в базе данных, и если да, не вставлять данные из bulk_create
там. Я использую код ниже, но он выдает syntax error
....some code...
all_db_data = OnlineDB.objects.all()
OnlineDB.objects.bulk_create([OnlineDB(
number=row[2],
name=row[0],
address=row[1]
) ignore_dups(row, all_db_data ) for row in reader], ignore_conflicts=True) # reader are data from csv.reader()
def ignore_dups(row, all_db_data):
match = all_db_data.filter(number=row[2])
if match.Count() > 0:
return
return row