首页 > 解决方案 > 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 版本的问题吗?

我正在批量插入数据,还需要保留唯一检查。任何帮助,将不胜感激。

标签: pythondjangopostgresqlcpanelweb-hosting

解决方案


请注意 ON CONFLICT 子句仅在 PostgreSQL 9.5 中可用。如果您使用的是早期版本,则需要一种解决方法来获得 upsert 功能。请检查本地 postgresql 版本和服务器 postgresql 版本。


推荐阅读