有没有办法在 django 上查看 bulk_create 执行的原始 SQL?

Is there a way to see the raw SQL executed by a bulk_create on django?

我正在使用 Django 的 ORM 在 Postgre 的数据库中插入数千个对象。它工作正常,但有时其中一个寄存器的格式错误并且插入操作不起作用。

我不能执行这种忽略错误的插入,所以我想查看操作执行的 SQL 和 bulk_insert 仅 returns 的列表对象。

在调试模式下,您可以使用 django.db.backends 记录器。 https://docs.djangoproject.com/en/1.8/topics/logging/#django-db-backends

在生产中,我会为 PostGres 本身使用记录器,因为从 Django 进程中保存这些查询将(可能)对您的性能产​​生重大影响。