バージョンが_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"
}
_
上記の問題に対して私が見つけた解決策は、上記のすべての変更とは別に、仮想環境から南部を削除することでした。
あなたはおそらくまだどこかに輸入品を持って南を参照しています。
ただ:
pip uninstall south
次に:
python manage.py runserver
そして、インポートエラーを解決します。
Django 1.7なので、移行はフレームワークの一部です。Southを使用する代わりに、おそらく Django.db.migrationsに移行 。
一般的に言って、このような更新を行うときは、常にリリースノート(1.7および1.8用)を読む必要があります。
バージョンが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> = 1.0.1をまだインストールしていない場合は、インストールする必要があります。これは、=を使用しているユーザーのために依存関係としてリストされていません。 Django> = 1.7そしてそれを必要としない。