您的数据库 django 没有南方数据库模块 'south.db.postgresql_psycopg2'

There is no South database module 'south.db.postgresql_psycopg2' for your database django

我有一个版本为 1.6.5 的 Django 应用程序,我正在尝试将它升级到 1.8,但是在 Django 版本增加到 1.8

There is no South database module 'south.db.postgresql_psycopg2' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.

代码

INSTALLED_APPS = [
   'django_messages',
    'avatar',
    'tinymce',
    'south',
    'tracking',
    ......
  ]

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'HOST': '127.0.0.1',
        'NAME': 'xxxxxx',
        'USER': 'xxxxxx',
        'PASSWORD': 'xxxxxx',
        },
    }

问题出在哪里,需要做些什么来解决这个问题?

我什至尝试过以下设置并在 运行 django 本地服务器

时收到相同的错误
SOUTH_DATABASE_ADAPTERS = {
    'default': "south.db. postgresql_psycopg2"
}

版本 >= 1.7 的 Django 使用内置迁移。您不需要使用南方。

有关 Django 迁移框架的更多详细信息,请参阅发行说明 - https://docs.djangoproject.com/en/1.9/releases/1.7/#schema-migrations

Django 文档 - https://docs.djangoproject.com/en/1.8/topics/migrations/

从南方升级 - https://docs.djangoproject.com/en/1.8/topics/migrations/#upgrading-from-south

从 Django 1.7 开始,迁移是框架的一部分。您可能不想使用 South,而是 migrate to django.db.migrations.

一般来说,在进行此类更新时,您应该始终阅读发行说明(适用于 1.7 和 1.8)。

我发现上述问题的解决方案除了上述所有更改外,只是将南方从虚拟环境中移除

您可能仍在引用 South 并在某处导入。

刚刚:

pip uninstall south

然后:

python manage.py runserver

并解决导入错误。

如果您使用的是 Django < 1.7,您还应该安装 South >= 1.0.1(如果您还没有的话)。为了 Django >= 1.7 并且不需要它的用户,这没有被列为依赖项。