django.db.backends.postgresql错误当尝试使迁移我的django项目

wvyml7n5  于 2022-12-22  发布在  PostgreSQL
关注(0)|答案(2)|浏览(160)

我正在尝试将我的Django数据库从SQLite3切换到PostgreSQL,所以我遵循了许多教程来使用Django项目安装和设置Postgres。
我做了以下工作:pip install psycopg2pip install psycopg2-binary和我修改了settings.py,如下所示:

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.postgresql',

        'NAME': BASE_DIR / 'db.postgresql',

        'USER': 'muusername',

        'PASSWORD': 'mypassword',

        'HOST': '127.0.0.1',

        'PORT': '5432'

    }

}

最后,我运行python manage.py makemigrations命令创建了数据库,但是,我得到了这个错误:

django.core.exceptions.ImproperlyConfigured: 'django.db.backends.postgresql' isn't an available database backend or couldn't be imported. Check the above exception. To use one of the built-in backends, use 'django.db.backends.XXX', where XXX is one of:
    'mysql', 'oracle', 'sqlite3'

请注意,我也seccesulfully安装在我的操作系统,这是Windows 10的第一步。

我知道这个问题与我的django项目中的Postgres配置有关,但我不知道如何修复它,我还检查了我的djnago版本,这是最新的一个,此外,所有需要的包都安装在我的venv中。

kadbb459

kadbb4591#

在postgres中不能这样添加:

'NAME': BASE_DIR / 'db.postgresql', #You got that error because of this. This setting is for only sqlite3 not for postgres

只需在NAME中添加db_name

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'your_db_name', #add your db name here
        'USER': 'postgres',
        'PASSWORD': 'your_db_password',
        'HOST': '127.0.0.1', 
        'PORT': '5432',
    }
}
c9qzyr3d

c9qzyr3d2#

确保您实际上已经下载并安装了PostgreSQL installer本身。

相关问题