我在Django的在线文档中没有看到任何关于这个话题的东西.

我试图将对象列表保存到数据库,但我能做的是循环遍历列表并对每个对象调用save().

那么Django是否多次访问数据库?或者Django将执行一批保存?

推荐答案

不幸的是,Django 1.3和更早版本并不直接支持批插入.如果要使用ORM,那么必须对每个对象调用save().如果它是一个大列表,并且性能是一个问题,那么可以使用django.db.游标将项目手动插入事务中,以显著加快流程.如果你有一个巨大的数据集,你需要开始研究特定于数据库引擎的方法,比如Postgres中的COPY FROM.

Django相关问答推荐

Django项目陷入登录页面

当RST =True时RST CSS

查尔而不是瓦尔查尔加盟Django 球场

__init__()获取了意外的关键字参数';id';

Django:我的上下文变量不能用于重复的for循环

使用 Crispy Forms 时 Django 返回 'TemplateDoesNotExist'

Django 仅预取相关模型的最新对象

如何在 Django 模板视图中显示我的数据?

如何在 ModelViewSet 逻辑中读取查询字符串值?

在 Django 模板中呈现标签名称而不是整数字段

Django授权判断具有通配符模式的URL

包含资源时,DRF 返回我的软删除记录

Django REST Framework如何在序列化程序中引发验证错误时指定错误代码

ModelForm 的 Django TextField max_length 验证

Django 模型中的隐藏字段

Django 自定义用户邮箱帐户验证

Django unique_together 与可为空的 ForeignKey

基于 User-Agent 更改 Django 模板

如何获取 pytz 时区的通用名称

Python Django 的多线程