Django:当生产postgres数据库位于heroku上时,如何建立本地Postgresql连接?

Django:当生产postgres数据库位于heroku上时,如何建立本地Postgresql连接?,django,postgresql,heroku,Django,Postgresql,Heroku,我的生产postgresql数据库正在Heroku上成功运行。在此之前,我在开发过程中将本地postgres数据库配置为默认数据库。但是,现在,在我用dj数据库url钩住Heroku postgres之后,每当我运行python manage.py runserver在本地进行更改时,我都会遇到以下错误: conn = _connect(dsn, connection_factory=connection_factory, **kwasync) django.db.utils.Operation

我的生产postgresql数据库正在Heroku上成功运行。在此之前,我在开发过程中将本地postgres数据库配置为默认数据库。但是,现在,在我用
dj数据库url
钩住Heroku postgres之后,每当我运行
python manage.py runserver
在本地进行更改时,我都会遇到以下错误:

conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: server does not support SSL, but SSL was required
这是我的数据库设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'DATABASE_URL': os.getenv('DATABASE_URL'),
        'NAME': os.getenv('DATABASE_NAME'),
        'USER': os.getenv('DATABASE_USER'),
        'PASSWORD': os.getenv('DATABASE_PASSWORD'),
        'HOST': os.getenv('DATABASE_HOST'),
        'PORT': os.getenv('DATABASE_PORT')
    }
}
import dj_database_url
db_from_env = dj_database_url.config(conn_max_age=600, ssl_require=True)
DATABASES['default'].update(db_from_env)
即使不是必需的,我在
env
中的本地
数据库的URL
如下所示:

DATABASE_URL=postgres://{user}:{password}@{host}:{port}/{database name}?sslmode=require
它只有在我对
dj数据库url
片段进行注释时才起作用,即
runserver
成功运行,但这不是一个解决方案


那么,我如何在Heroku Postgres中运行本地Postgres数据库呢?

您可以将每个环境的设置分开,如中。谢谢,这篇文章提供了一个可用的版本。一个重要的事情是,我必须在Heroku配置变量中添加
DJANGO\u设置\u模块
->
.SETTINGS.production
。否则,
heroku运行。。。makemigrations
migrate
将抛出无法想象的错误。