当我这样做的时候:
model_list = [Model(name = 'First'), Model(name = 'Second'), Model(name = 'Third')]
Model.objects.bulk_create(model_list)
我能相信它们会以同样的顺序被创建吗?
即:
pk1 = Model.objects.get(name = 'First').pk
pk2 = Model.objects.get(name = 'Second').pk
pk3 = Model.objects.get(name = 'Third').pk
(pk3 > pk2) and (pk2 > pk1)
2条答案
按热度按时间piv4azn71#
我觉得你可以
此代码将被转换为以下SQL:
常规SQL Server不太可能以不同的顺序插入这些行。
lnlaulya2#
是的,你可以根据Django 4.2的文档来信任https://docs.djangoproject.com/en/4.2/ref/models/querysets/#bulk-create:
此方法以有效的方式将提供的对象列表插入到数据库中(通常只有1个查询,无论有多少对象),并以列表的形式返回创建的对象,顺序与提供的顺序相同。