web-dev-qa-db-ja.com

Django postgres multiple schema

私はDjango既存のpostgresql dbのインターフェイスを開発しようとしています。dbはさまざまなスキーマを使用します。次の例は機能するはずですが、文献を見て、それはで定義されたスキーマのみを返しますpython manaage.py inspectdbを実行したときのデフォルトのデータベース。これが機能する場合、Djangoモデルを定義するときに使用するスキーマをどのように定義しますか?

DATABASES = {

'default': {
        'ENGINE': 'Django.db.backends.postgresql_psycopg2',
        'OPTIONS' : {
            'options': '-c search_path=public'
        },
    'NAME': 'gygaia',
    'USER':'postgres',
    'PASSWORD':'abc',
    'Host':'localhost',
    'PORT':'5432',
},

'samples': {
        'ENGINE': 'Django.db.backends.postgresql_psycopg2',
        'OPTIONS' : {
            'options': '-c search_path=samples'
        },
    'NAME': 'gygaia',
    'USER':'postgres',
    'PASSWORD':'abc',
    'Host':'localhost',
    'PORT':'5432',
},
    'excavation': {
            'ENGINE': 'Django.db.backends.postgresql_psycopg2',
            'OPTIONS' : {
                'options': '-c search_path=excavation'
            },
        'NAME': 'gygaia',
        'USER':'postgres',
        'PASSWORD':'abc',
        'Host':'localhost',
        'PORT':'5432',
    },
}
2
Spatial Digger

これは、ForeignKeyで相互に交差する2つのアプリと3つのスキームを含む、非常に簡単なプロジェクトの例です。

https://github.com/mullerivan/DjangomultipleSchema
アイデアは、使用する必要があるスキーマとテーブルで各モデルを定義することです

class Meta:
    db_table = u'"app1\".\"on_app_one"'
1
mullerivan