当前位置: 首页 > 知识库问答 >
问题:

多次调用save()的最佳实践

归浩博
2023-03-14

当多次调用保存时,它可以工作,但需要几分钟。

num = 100000
for i in range(num):
    lu = sm.UserType(type_id=1)
    lu.save()

在我的理解中,保存执行SQL

因此,如果我可以将储蓄放在一起,则需要更短的时间。

有没有这方面的做法?

共有1个答案

冀越
2023-03-14

您可以使用.bulk_create(…)

num = 100000

sm.UserType.objects.bulk_create([
    sm.UserType(type_id=1)
    for i in range(num)
])

对于大多数数据库,这将使用一个查询创建所有记录,但 SQLite 除外,该查询将分批创建 999 个项目的对象。

 类似资料:
  • 译者:cvley torch.multiprocessing 是 Python 的 multiprocessing 的直接替代模块。它支持完全相同的操作,但进行了扩展,这样所有的张量就可以通过一个 multiprocessing.Queue 进行传递,将数据移动到共享内存并只将句柄传递到另一个进程。 注意 当一个 Tensor 传递到另一个进程时,Tensor 的数据是共享的。如果 torch.T

  • torch.multiprocessing是Pythonmultiprocessing的替代品。它支持完全相同的操作,但扩展了它以便通过multiprocessing.Queue发送的所有张量将其数据移动到共享内存中,并且只会向其他进程发送一个句柄。 Note 当Variable发送到另一个进程时,Variable.data和Variable.grad.data都将被共享。 这允许实现各种训练方法

  • 我有两个资源和,我可以用检索用户的产品。这很简单,我会返回一个JSON响应,如下所示: 现在,如果我想同时获得和他们的,该怎么办?我知道我可以使用在调用并返回如下数据: 但这是最佳实践吗?还是退回这样的东西更好: 所以我的问题是: 在一次呼叫中返回多个数据收集的最佳实践是什么

  • 问题内容: 我开发Joomla网站/组件/模块和插件,并且每隔一段时间我都需要使用JavaScript来加载页面时触发事件的功能。在大多数情况下,这是使用函数完成的。 我的问题是: 这是在页面加载时触发JavaScript事件的最佳方法,还是有更好/更新的方法? 如果这是触发页面加载事件的唯一方法,那么确保多个事件可以由不同的脚本运行的最佳方法是什么? 问题答案: 可以,但是您可能已经注意到, 它

  • 问题内容: 如果我需要通过一个“动作”来更新或插入到多个表中,请调用一个保存信息的示例,其中有多个包含“信息”的表。 出于参数考虑,可以说我们有下表: 姓名地址汽车工作 每次调用保存信息时,都会将其中的每个表插入其中。 哪个更好: 获取必须写入名称表的数据。调用InsertOnSubmit并调用SubmitChanges 获取必须写入地址表的数据。调用InsertOnSubmit并调用Submit

  • 问题内容: 但是那我该如何解决呢? 我的应用程序使用几种类型的文件,我想分配一些静态属性,例如对该文件类型的描述(例如“数据文件”,另一个是“配置文件”,等等)。显然,我会将其放入静态String中,以便无需实例文件即可访问描述(对GUI fi有用)。另一方面,显然所有文件类型都应具有一些通用方法,例如,显然我想从通用超类继承。 在超类中当然是抽象的。 尝试使用超类和接口的组合,但是存在类似的问题