django - 如何在 Django 中执行批量插入?

标签 django

在 mysql 中,对于 n > 0,您可以在一个表中插入多行:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9), ..., (n-2, n-1, n);

有没有办法用 Django 查询集方法实现上述目标?这是一个例子:

values = [(1, 2, 3), (4, 5, 6), ...]

for value in values:
    SomeModel.objects.create(first=value[0], second=value[1], third=value[2])

我相信以上是为 for 循环的每次迭代调用插入查询。我正在寻找单个查询,这在 Django 中是否可行?

最佳答案

这些答案已经过时了。 bulk_create 已在 Django 1.4 中引入:

https://docs.djangoproject.com/en/dev/ref/models/querysets/#bulk-create

关于django - 如何在 Django 中执行批量插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2655670/

相关文章:

html - django-simple-menu 与 bootstrap 的集成

python - Django Haystack 反向 URL 失败

python - django模型的对象声明在哪里?

django - 将 matplotlib 与 Django 通用 View 结合使用

Django - 具有自动完成功能的 Javascript 动态内联 FormSet

python - 在多对多字段中使用自引用时,Django related_name 不起作用

python - 自动为 Django 模型中的每个选项添加常量

python - Django:向模型窗体添加一个字段

python - 试图覆盖在 python 3.9 中识别的 Django 3.2 应用程序上的 allauth 模板

django - 如何在 django 中设置 choicefield 的值