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

时间:2015-04-15 10:16:43

标签: django postgresql django-south psycopg2

我有一个版本为1.6.5的django应用程序,我正在尝试将其升级到1.8,但是在django版本增加到{{1}之后我就得到了以下错误}}

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.

那么问题是什么以及需要做些什么才能解决这个问题?

我甚至尝试使用以下设置并在运行django本地服务器时收到相同的错误

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',
        },
    }

5 个答案:

答案 0 :(得分:43)

我发现上述问题的解决方案只是将虚拟环境中的南方移除,而不是上面提到的所有更改

答案 1 :(得分:9)

你可能仍然在某处导入到南方。

只需:

pip uninstall south

然后:

python manage.py runserver

解决导入错误。

答案 2 :(得分:2)

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

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

答案 3 :(得分:1)

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

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

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

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

答案 4 :(得分:0)

如果您使用的是Django< 1.7,如果你还没有安装South> = 1.0.1。对于使用Django> = 1.7并且不需要它的用户,这不会被列为依赖项。