В базе данных django нет южного модуля базы данных "south.db.postgresql_psycopg2"

У меня есть приложение django с версией 1.6.5, я пытаюсь обновить его до 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

Решение, которое я нашел в вышеупомянутой проблеме, заключалось в том, что вы удаляли юг от виртуальной среды, кроме всех изменений, упомянутых выше

Ответ 2

Вероятно, вы все еще ссылаетесь на Юг с импортом где-то.

Просто:

pip uninstall south

Затем:

python manage.py runserver

И разрешить импортные ошибки.

Ответ 3

Начиная с Django 1.7, миграции являются частью структуры. Вместо использования юга вы, вероятно, захотите перейти на django.db.migrations.

Вообще говоря, вы должны всегда читать заметки о выпуске (для 1.7 и 1.8) при выполнении такого обновления.

Ответ 4

Django с версией> = 1.7 использует встроенную миграцию. Вам не нужно использовать юг.

Для получения дополнительной информации о структуре переноса 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

Ответ 5

Если вы используете Django <1.7, вы также должны установить South> = 1.0.1, если у вас уже есть. Это не указано как зависимость для пользователей, которые находятся на Django> = 1.7 и не нуждается в этом.