python - 在直通表中批量创建的最佳方法是什么?
问题描述
这是我的直通表的样子:
class ThroughTable(models.Model):
user = models.ForeignKey(User)
society = models.ForeignKey(Society)
我得到 2 个列表,其中包含 2 个模型对象的 id,它们必须添加到我的直通表中。
user_list = [1,2,5,6,9]
society_list = [1,2,3,4]
在这里,我想为这 2 个列表中的每个可能对在通过表中创建条目。
我正在考虑使用嵌套循环来迭代和创建 Through 表中的对象,但它看起来非常幼稚,并且具有 n*n 的复杂性。
有没有更好的方法来解决这个问题?
解决方案
Django 提供了一个 bulk_create() 方法来在数据库中创建条目。它具有可选参数batch_size,因为如果您有数百万条记录,则无法一次性输入所有记录,因此要分批打破记录并进入数据库。
ThroughTable.objects.bulk_create(item, batch_size)
推荐阅读
- powershell - 忽略 PowerShell 脚本中的某些命令
- twitter-bootstrap - 如何更改 react-boostrap 组件中隐式使用的类?
- python - 将相同的 Canny 应用于两个不同的图像
- python - PyThreadState_SetAsyncExc 没有效果
- bash - 如何在 WSL2 中运行的 vscode 中设置 bash
- highcharts - 在高图的图例或颜色轴的开始和结束点?
- vue.js - 问题标题作为占位符 - SURVEYJS CREATOR
- r - 将问题评估到 R 包中
- selenium - 当我们尝试执行“JSONObject responseJSON = new AXE.Builder(driver, scriptUrl).analyze();”时抛出脚本超时异常
- batch-file - WinSCP“命令‘打开’的参数太多。” 错误