web-dev-qa-db-ja.com

データベースにSouthデータベースモジュール「south.db.postgresql_psycopg2」がありません

Djangoを初めて使用し、南からこのエラーが発生しましたが、何が欠けているのかわかりません。回答を検索しましたが、何も見つかりません。

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.

これは私のbase_settingsです:

from unipath import Path

BASE_DIR = Path(__file__).ancestor(3)


SECRET_KEY = 'pp@iz7%bc7%+*11%usf7o@_e&)r2o&^3%zjse)n=6b&w^hem96'

Django_APPS = (
    'Django.contrib.admin',
    'Django.contrib.auth',
    'Django.contrib.contenttypes',
    'Django.contrib.sessions',
    'Django.contrib.messages',
    'Django.contrib.staticfiles',

)

THIRD_PARTY_APPS = (
    'south',

)

LOCAL_APPS = (


)


INSTALLED_APPS = Django_APPS + THIRD_PARTY_APPS + LOCAL_APPS


MIDDLEWARE_CLASSES = (
    'Django.contrib.sessions.middleware.SessionMiddleware',
    'Django.middleware.common.CommonMiddleware',
    'Django.middleware.csrf.CsrfViewMiddleware',
    'Django.contrib.auth.middleware.AuthenticationMiddleware',
    'Django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'Django.contrib.messages.middleware.MessageMiddleware',
    'Django.middleware.clickjacking.XFrameOptionsMiddleware',
    'Django.middleware.security.SecurityMiddleware',
)

ROOT_URLCONF = 'misite.urls'

WSGI_APPLICATION = 'misite.wsgi.application'

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

local_settings:

from .base import *

TEMPLATE_DEBUG = True



ALLOWED_HOSTS = []

DEBUG = True

DEFAULT_FROM_EMAIL = '[email protected]'





# ----------------------------
    # POSTGRESQL

DATABASES = {
    'default': {
        'ENGINE': 'Django.db.backends.postgresql_psycopg2',
        'NAME': 'misite',
        'USER:': 'fernandoperez',
        'PASSWORD': 'admin',
        'Host':'localhost',
        'PORT':'5432',
    }
}

SOUTH_DATABASE_ADAPTERS = {
     'default': "south.db.postgresql_psycopg2"
 }

STATIC_URL = '/static/'

誰かが私を助けてくれますか?どうもありがとう。

14
ferprez

これは、pipを使用してさまざまなモジュールをアップグレードし、依存関係の1つを自動的にDjango=現在のバージョン(1.8)にアップグレードしたときに発生しました。現在のバージョンを確認してください= Djangoバージョン(pip freeze)、それが1.8の場合は1.6行にダウングレードする(pip install -U "Django<1.7")。

8
kravietz

pip uninstall Southを試すと、アプリケーションが1.8の準備ができているかどうかがわかります。

69
Papa Sax

South は、Django 1.7の新しい移行フレームワークに賛成して廃止されました。これはSouthに基づいていますが、設計が大幅に改善されています。

Django移行フレームワークの詳細については、リリースノートを参照してください- https://docs.djangoproject.com/en/1.9/releases/1.7/#schema-migrations =

SouthはDjango 1.7では動作しません。バージョン1.4、1.5、および1.6のみをサポートしています。

9
WangST

しかし、ポイントはDjango 1.8(最新バージョン)を維持しながら問題を修正する方法です。Django 1.6であるため、1.6に格下げすることは良い考えではないと思います安全なバージョンではなくなりました。

7
Lahiru

Django 2.2.4を使用しています。 "2.4"は、サードパーティがインストールしたアプリ(socket_server)の1つに含まれていることに気付きました。しかし、モジュールではなく、移行ポリシー(多分モジュールを作成した人はまだ古いバージョンのDjangoを使用しています。そのため、名前を0001_inicial.pyから0001_inicial_oldに変更し、Djangoはそれを見つけられず、別のものを生成しました。半分として動作しました。 -measure(ソケットはそれなしでインストールする必要があります)

0
Rafael