python - Django bulk_create with ignore_conflicts=True 给出 ProgrammingError
问题描述
我收到这个奇怪的错误
ProgrammingError at /save_hsn/
syntax error at or near "ON"
LINE 1: ...021-01-28T06:17:43.784614+00:00'::timestamptz, 1) ON CONFLIC...
这是我得到错误的views.py部分
user_gst_codes.objects.bulk_create(hsn_list, ignore_conflicts=True)
如果我删除ignore_conflicts=True
,一切正常。
此外,在 cPanel 上部署我的 Django 应用程序后,我开始收到此错误,在本地主机上这不会给出任何错误。
在本地主机上-
Python 3.6.6、Django 3.1
在 cPanel-
Python 3.6.11、Django 3.1
这是 Python 版本的问题吗?
我正在批量插入数据,还需要保留唯一检查。任何帮助,将不胜感激。
解决方案
请注意 ON CONFLICT 子句仅在 PostgreSQL 9.5 中可用。如果您使用的是早期版本,则需要一种解决方法来获得 upsert 功能。请检查本地 postgresql 版本和服务器 postgresql 版本。
推荐阅读
- oracle - oracle docker容器启动后如何执行sql脚本?
- azure - 如何将测试失败屏幕截图附加到 YAML 中的 Azure Pipeline 测试运行?
- asp.net-core - 无法在 .Net 应用程序中复制文件
- kotlin - 带参数的传递函数
- cryptography - 加密货币交换器
- recursion - ARM 汇编中的斐波那契数列
- javascript - Javascript正则表达式仅保留锚标记href链接和正文
- google-sheets-api - 谷歌表格查询()和过滤器()不工作
- c# - Application Insights 未跟踪 Azure Function 中的 SQL 依赖项
- deployment - 如何在竹子中同时运行作业时避免停机