【问题标题】:django 2.1 + PostgreSQL 11 + Python 3.7 - Cannot do makemigrationsdjango 2.1 + PostgreSQL 11 + Python 3.7 - 无法进行 makemigrations
【发布时间】:2019-07-30 07:13:36
【问题描述】:

我正在尝试按照本书的建议使用 geodjango 和 postgis 创建一个地理空间数据库:Python Geospatial development, 3rd Edition of Erik Westra,为了做到这一点,我正在尝试配置我的 django 数据库并连接它到我的 PostgreSQL 数据库。

启动 PostgreSQL 数据库后,我创建了 django 项目和 django 应用程序。从那时起,我想将makemigrations 命令应用于我的shared 应用程序:

python manage.py makemigrations shared

但后来我出现了以下错误:

File "C:\Users\[...]\Anaconda3\lib\site-packages\psycopg2\__init__.py", line 130, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError

我什至尝试使用 showmigrations 检查迁移,但它会发出相同的错误消息,所以我完全不知道发生了什么。

这是我的settings.py 文件:

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': 'shapeeditor',
        'USER': 'shapeeditor',
        'PASSWORD': '(password)',
    }
}

我已经输入(密码)来隐藏真实的密码,但我已经检查过它是正确的密码。 NAME 对应的数据库名称与 USER 同名

shared 应用程序是用INSTALLED_APPS 编写的,所以我检查过我没有忘记它。

我查看了 StackOverflow 中关于我遇到的错误的许多帖子,但它与我在这里所面临的不相符

【问题讨论】:

  • 您确定您的 postgres 已启动并正在运行吗?您可以使用其他方式连接到它吗,例如命令行中的psql
  • 我愿意,我可以与psql -U postgres shapeeditor 连接,而且它似乎可以工作,我有一个命令行来执行类似shapeeditor=# 的查询
  • 我唯一能建议的就是添加HOSTPORT 设置。
  • 是的,我也尝试过,但它并没有增加迁移问题,我刚刚发现我的用户 shapeeditor 存在特权问题...谢谢您时间!

标签: django python-3.x postgresql postgis geodjango


【解决方案1】:

写完我自己的问题后,我发现了它的问题......

我的USER shapeeditor 没有权限,所以它无法工作,刚刚切换到postgres 并且我工作了,我必须更改权限才能使其工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 2016-06-02
    • 2020-06-19
    • 2015-09-21
    相关资源
    最近更新 更多