Python 如何对许多对象使用bulk_create()来执行save()操作
我有很多对象要保存到数据库中,代码如下:Python 如何对许多对象使用bulk_create()来执行save()操作,python,django,django-models,transactions,Python,Django,Django Models,Transactions,我有很多对象要保存到数据库中,代码如下: def addSthGroups(groups): for group in groups: # each group is an object group.addSth() group.save() 现在,一个一个地保存所有对象需要很多时间。所以我的问题是:是否有一种更有效的方法来收集所有对象,只需调用一次save(),它可能会加快处理时间,正如我所知,bulk_create听起来很适合处理这种情况,有人能给
def addSthGroups(groups):
for group in groups: # each group is an object
group.addSth()
group.save()
现在,一个一个地保存所有对象需要很多时间。所以我的问题是:是否有一种更有效的方法来收集所有对象,只需调用一次save(),它可能会加快处理时间,正如我所知,bulk_create听起来很适合处理这种情况,有人能给出一个代码示例吗?或者任何其他好的建议?假设模型名为
Group
,您只需执行Group.objects.bulk\u创建(组)
bulk\u create
不会调用save()
。引自django:
不会调用模型的save()
方法,并且pre_save
和
post_save
将不发送信号
谢谢您的回复,save()在哪里。它与bulk_create()集成了吗?所以现在我不能使用bulk_create收集所有对象,只调用save()一次?你还有别的建议吗?谢谢。为什么要调用
save()
?您不需要调用save()
,bulk\u create
将一次性创建所有内容。我不确定,django新手。我为每个对象调用addSth(),然后我应该将新对象保存到数据库中,固定代码如下:def addSthGroups(groups):
save\u list=[]
对于组中的组:
group.addSth()
save\u list.append(group)
adgroup.objects.bulk\u创建(save\u list)
我没有您的环境,因此无法为您试用。您应该自己尝试一下,并在stackoverflow上发布问题,如果您有任何问题,人们会非常乐意帮助您。