【问题标题】:django-pyodbc bulk_create is brokendjango-pyodbc bulk_create 坏了
【发布时间】:2016-12-07 19:30:29
【问题描述】:

当使用django-pyodbc 后端调用bulk_create() 时,将为批处理中的每个对象运行一个插入语句。行为应该是每批运行一个插入语句。

这是一个错误,还是有办法改变这种行为?

版本:

  • django==1.7
  • pyodbc==3.0.10
  • django-pyodbc==1.0.1
  • FreeTDS v1.00.21
  • unixODBC v2.3.4

【问题讨论】:

  • 您使用的是哪个django-pyodbc?那里有很多。我发现维护最积极和功能最完整的是django-pyodbc-azure,它适用于 SQL Server Azure。我将它与本地 SQL Server 2008 到 2014 一起使用。

标签: django bulkinsert django-pyodbc


【解决方案1】:

我打赌您使用的django-pyodbc 版本不支持批量插入。我建议使用django-pyodbc-azure,您可以使用它进行安装:

pip install django-pyodbc-azure<1.8

django-pyodbc-azure 将其版本号与 Django 匹配,因此您需要 1.7 分支的最新/最佳版本(因此,

应该支持bulk_insert():

https://github.com/michiya/django-pyodbc-azure/blob/adc5d88a9928cecc0e9d33aacca301e0084ff824/sql_server/pyodbc/features.py#L15

我还建议升级到 Django 1.8(长期支持)或 1.10(当前版本),因为不再为 1.7 发布安全补丁和错误修复。祝你好运!

【讨论】:

  • 谢谢,我现在正在测试这个。将在几分钟后再次发布。
  • django-pyodbc-azure 确实支持bulk_insert 并且也通过了我的其他测试。似乎比django-pyodbc的另一个分支工作得更好
猜你喜欢
  • 2016-07-01
  • 2013-08-25
  • 1970-01-01
  • 2020-12-03
  • 2012-05-28
  • 2014-10-11
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多