正如标题所示,有没有办法批量创建列表列表。就像现在我一样批量创建它 -
for i in range(len(x))
arr1 = []
for m in range(len(y)):
arr1.append(DataModel(foundation=foundation, date=dates[m], price=price[m]))
DataModel.objects.bulk_create(arr1)
现在这将批量创建,直到x的长度。
可以这样做 -
arr = []
for i in range(len(x))
arr1 = []
for m in range(len(y)):
arr1.append(DataModel(foundation=foundation, date=dates[m], price=price[m]))
arr.append(arr1)
DataModel.objects.bulk_create(arr)
如果没有,还可以采取哪些措施来更快地存储数据?
答案 0 :(得分:0)
将您的对象追加到arr
,而不是arr1
或者您可以在bulk_create
:
import itertools
arr = list(itertools.chain(*arr))
答案 1 :(得分:0)
试试这个......
arr = []
for i in range(len(x))
arr1 = []
for m in range(len(y)):
arr1.append(DataModel(foundation=foundation, date=dates[m], price=price[m]))
#instead of appending the list, add list together to make one
arr = arr + arr1
DataModel.objects.bulk_create(arr)
这将生成一个可由bulk_create()
方法
参考:Python append() vs. + operator on lists, why do these give different results?