zs2*_*020 31 django save django-models
我没有在Django的在线文档中看到关于这个主题的任何内容.
我试图将对象列表保存到数据库,但我可以做的是遍历列表并在每个对象上调用save().
那么Django几次命中数据库了吗?或者Django会做一次批量保存吗?
Bra*_*kle 10
不幸的是,批量插入是Django 1.3及之前不直接支持的东西.如果要使用ORM,则必须在每个单独的对象上调用save().如果它是一个大型列表并且性能是一个问题,您可以使用django.db.cursor在事务内手动INSERT项目,以显着加快进程.如果您有一个庞大的数据集,则需要开始查看特定于数据库引擎的方法,例如Postgres中的COPY FROM.
从 Django 1.4 开始存在bulk_create(),但是,总是但是。
您需要小心,使用bulk_create()它不会在内部调用实例save()方法。
正如 django 文档所说
\n\n\n\n\nmodel\xe2\x80\x99s save()方法不会被调用
\n
因此,如果您要重写 save 方法(如我的情况),则不能使用bulk_create。
\n