我在postgresql
中创建了一个名为testdb1
的数据库,并试图将其与我的django
应用程序连接起来。但是当我运行python manage.py syncdb
时,我得到了一个错误django.db.utils.OperationalError: FATAL: database "testdb1" does not exist
。数据库确实存在,如下所示:
archit@archit-Inspiron-5520:~/Documents/DjangoLabs/gswd$ psql -U postgres
Password for user postgres:
psql (9.1.14)
Type "help" for help.
postgres=# \connect testdb1
You are now connected to database "testdb1" as user "postgres".
testdb1=# \d
List of relations
Schema | Name | Type | Owner
--------+---------+-------+----------
public | company | table | postgres
(1 row)
在settings.py
我有:
在/etc/postgresql/9.1/main/pg_hba.conf
中:
# Database administrative login by Unix domain socket
local all postgres md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
local all postgres md5
编辑:
\du
命令给出:
testdb1=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
archit | Superuser, Create role, Create DB, Replication | {}
postgres | Superuser, Create role, Create DB, Replication | {}
任何帮助都将不胜感激。在
删除数据库并重新创建数据库。在
在设置.py写'PORT'='5432'或'5433',因为这是所有postgresql中的公共端口。在
然后执行syncdb或migrate。在
因为您的表是在没有Django工具的情况下创建的。您需要写下一个模型类,并设置一些有关表的“自定义”名称格式的金属信息:https://docs.djangoproject.com/en/1.7/ref/models/options/#table-names
如果可以的话,我建议您删除此表并使用Django ORM来构建数据库。它比用SQL编写所有东西都要快而简单:https://docs.djangoproject.com/en/1.7/intro/tutorial01/#creating-models
相关问题 更多 >
编程相关推荐