django dj-database-url 运行极慢

django dj-database-url runs extrem slow

当我在本地计算机上的 Django 项目中设置 dj_database_url 时,迁移和开发服务器 运行 极慢。他们已经 运行,但速度极慢。当我以这种方式设置数据库时,一切正常。

运行正常:

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'my_db',
        'USER': os.environ.get("USER"),
        'PASSWORD': os.environ.get("PASSWORD"),
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

运行秒慢:

# settings.py
import dj_database_url

DATABASES = {'default': dj_database_url.config(default=os.environ.get("DATABASE_URL"))}

我的 .env 文件

DATABASE_URL=postgres://user:passwd@localhost:5432/my_db

我怀疑问题是 dj_database_url 版本不小心使用了错误的数据库。为了仔细检查,我将代码更改为:

DATABASES = {'default': dj_database_url.config(os.environ["DATABASE_URL"])}

这样,如果 DATABASE_URL 未定义,您将立即收到错误消息。

如果问题仍然存在,请添加:

 print "*" * 80
 print dj_database_url.config(os.environ["DATABASE_URL"])
 print "*" * 80

到您的 settings.py 文件,这样您就可以准确地看到 dj_database_url 返回的内容,并将其与您的 "hand-written" 数据库配置进行比较。

因此,就我而言,解决方案是一个简单的更改。我只是将 DATABASE_URL 从

更改为
DATABASE_URL=postgres://user:passwd@localhost:5432/my_db

DATABASE_URL=postgres://user:passwd@127.0.0.1:5432/my_db

而且有效!