django.db.utils.ProgrammingError:列 c.relispartition 不存在

Fra*_*o M 5 python sql django postgresql exception

使用:MacbookAir M1 (2020)、MacOs Monterey(12.2.1)、Python (3.10.2)、Django (4.0.2)、PostgreSQL (14.2)

我启动了一个简单的 django 应用程序,当我尝试连接我的数据库(postgresql)时,我收到此错误

File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/django/db/backends/utils.py", line 83, in _execute
    return self.cursor.execute(sql)
django.db.utils.ProgrammingError: column c.relispartition does not exist
LINE 3:             CASE WHEN c.relispartition THEN 'p' WHEN c.relki...
Run Code Online (Sandbox Code Playgroud)

这是我的设置.py

DATABASES = {
    'default': {
                "ENGINE": "django.db.backends.postgresql",
                'OPTIONS': {
                    'options': '-c search_path=prg'
                    },
                "NAME": "******",
                "USER": "******",
                "PASSWORD": "******",
                "HOST": "**.***.***.***",
                "PORT": "5432"
         }
}
Run Code Online (Sandbox Code Playgroud)

其他 db postgres 从未遇到过问题。你见过这样的事情吗?

bil*_*ard 6

将 Django 降级到 3.2 版本可以解决此问题,但是,我已为此向 Django 团队提出了一个问题,因为它似乎是当前版本的 Django (4.0) 所特有的。

  • 根据文档,Django 4.0 对 PostgreSQL 9.6 的支持将于 2021 年 11 月结束。Django 4.0 支持 PostgreSQL 10 及更高版本。[文档](https://docs.djangoproject.com/en/4.0/releases/4.0/#dropped-support-for-postgresql-9-6) (7认同)