python - 如何对许多对象使用 bulk_create() 来执行 save() 操作

标签 python django django-models transactions

我有很多对象要存入数据库,代码如下:

def addSthGroups(groups):
    for group in groups:  # each group is an object
        group.addSth()
        group.save()

而现在,一个一个地保存所有的对象需要很多时间。所以我的问题是:是否有一种更有效的方法来收集所有对象,只需调用一次 save() ,它可能会加快处理时间,据我所知,bulk_create 听起来很适合处理这种情况,谁能举个例子对于这个代码?或者有什么好的建议?

最佳答案

您可以只执行 Group.objects.bulk_create(groups),假设 Group 是模型名称。

bulk_create 不会调用 save()。引用自 django doc :

The model's save() method will not be called, and the pre_save and post_save signals will not be sent.

关于python - 如何对许多对象使用 bulk_create() 来执行 save() 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34365025/

相关文章:

python - functools.partial 和 functools.reduce 之间的交互

python - 如何将 Pydev 项目导入交互式控制台?

django - 反向为 'edit',未找到任何参数。尝试了 1 个模式 : ['articles/edit/(?P<pk>[0-9]+)/$' ]

python - Django create_or_update 模型属性命令工作正常但更新失败

python - 没有 Django 模型的 Graphite 烯 Django?

javascript - 如何使用参数从 python 执行 javascript 代码

python - c 函数的 Ctype 返回类型

javascript - 将 django 模板变量传递给 js 数据表

javascript - 使用 jQuery 动态为元素分配 ID

django - 更改显示表单错误消息时 django 使用的字段名称