我有一个包含3个字段的模型:packing_id,multiplier,cost_id。我的数据是 数组中的packing_id和乘数
packing_id = ['1', '2', '3', '4']
multiplier = ['11', '21', '31', '41']
对于这4个条目,和cost_id将相同。 数据库应如下所示:
packing_id multiplier cost_id
1 11 1
----------------|-----------|-------
2 21 1
----------------|-----------|-------
3 31 1
----------------|-----------|-------
4 41 1
----------------|-----------|-------
如何在不使用for循环
的情况下批量插入Sqlite数据库答案 0 :(得分:1)
检查Django' bulk_create
https://docs.djangoproject.com/en/2.0/ref/models/querysets/#bulk-create
并使用一些zip
魔法https://docs.python.org/3.4/library/functions.html#zip
packing_id = ['1', '2', '3', '4']
multiplier = ['11', '21', '31', '41']
cost_id = [1, 1, 1, 1]
all_columns = zip(packing_id, multiplier, cost_id)
YourModel.objects.bulk_create([
YourModel(
packing_id=packing_id,
multiplier=multiplier,
cost_id=cost_id,
)
for packing_id, multiplier, cost_id in all_columns
])