我试图在Django MySQL中保存多个记录。
我可以单独保存每个记录,但随着数组大小的增加,它变得太慢了。在
代码:【更新】def MultipleSave(array1, array2, key1, key2):
insert_list = []
l = len(array1)
for i in range(0, l):
try:
str1 = array1[i]
str2 = array2[i]
try:
new_record = UserString.objects.filter(original=str1)
new_record = new_record[0]
setattr(new_record, key2, str2)
new_record.save()
except Exception as e:
new_record = UserString(original=str1)
setattr(new_record, key1, str1)
setattr(new_record, key2, str2)
insert_list.append(new_record)
except Exception as e:
print ('Exception occured: "%s"' % e)
if len(insert_list) > 0:
UserString.objects.bulk_create(insert_list)
[Update]:这个更新的代码现在使用bulk iu create一次创建所有新记录。但现有的记录仍然一次更新一个。在
是否有另一种方法可以同时在数据库中保存/更新所有记录,而不是每个记录?或者,如何优化此代码?在
欢迎提出任何建议。在
谢谢