Django PostgreSQL现有数据库不存在

问题描述 投票:0回答:1

我在PostgreSQL中有一个表tablename,其中的模式sub确实存在,它已经创建,它已经添加了数据,当我在pgAdmin 4中运行SELECT * FROM sub.tablename时,它返回的结果没有问题。

[当我尝试然后在Django应用程序中访问该表时,它会产生错误psycopg2.OperationalError: FATAL: database "main.sub.tablename" does not exist。我尝试使表名称为sub.tablenametablename,但它仍声称该表不存在。我是sub的所有者,它是我用来访问该表的凭据。我已经确认主机名和端口应该是正确的。

我不知道如何解决此问题,因为据我所知,该错误仅在人们尚未真正创建表或拼写错误时显示。

下面是我在settings.py中出现的相关代码表,其中显示了表/数据库信息。

settings.py

DATABASES = {
    'default': {
        'NAME': 'tablename',
        'ENGINE': 'django.db.backends.postgresql',
        'USER': 'username',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '1234',
    }
}

Traceback

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/django/db/backends/base/base.py", line 194, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/usr/local/lib/python3.7/site-packages/django/db/backends/postgresql/base.py", line 178, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/usr/local/lib/python3.7/site-packages/psycopg2/__init__.py", line 126, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL:  database "opr.opr_user_test" does not exist
django postgresql psycopg2
1个回答
0
投票

检查settings.py中的数据库名称,它应该是'sub'而不是'tablename'。尝试这个..数据库= {'默认':{'NAME':'sub','ENGINE':'django.db.backends.postgresql','USER':'用户名','PASSWORD':'password','HOST':'localhost','PORT':'1234',}}

© www.soinside.com 2019 - 2024. All rights reserved.