Ответ 1
Решение, которое я нашел в вышеупомянутой проблеме, заключалось в том, что вы удаляли юг от виртуальной среды, кроме всех изменений, упомянутых выше
У меня есть приложение 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"
}
Решение, которое я нашел в вышеупомянутой проблеме, заключалось в том, что вы удаляли юг от виртуальной среды, кроме всех изменений, упомянутых выше
Вероятно, вы все еще ссылаетесь на Юг с импортом где-то.
Просто:
pip uninstall south
Затем:
python manage.py runserver
И разрешить импортные ошибки.
Начиная с Django 1.7, миграции являются частью структуры. Вместо использования юга вы, вероятно, захотите перейти на django.db.migrations.
Вообще говоря, вы должны всегда читать заметки о выпуске (для 1.7 и 1.8) при выполнении такого обновления.
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
Если вы используете Django <1.7, вы также должны установить South> = 1.0.1, если у вас уже есть. Это не указано как зависимость для пользователей, которые находятся на Django> = 1.7 и не нуждается в этом.