簡體   English   中英

settings.py中的Django Project Multi-Database Config

[英]Django Project Multi-Database Config in settings.py

我目前正在使用用C#編寫的asp.NET內部網站,並在Django Web框架中重做它。 在確定了.NET站點正在使用的所有當前數據源之后,我開始配置和測試我從Django框架內連接到這些數據庫的能力。

  • 平台: Archlinux
  • Django版本: 1.3.1
  • Python版本: 2.7

問題:每當我嘗試連接到未定義為默認數據庫的任何數據庫時,都無法連接。 此外,我是無法連接到任何數據庫,只有當它被定義為不是默認。

為了進一步說明這一點,我將提供編輯過的示例:

DATABASES = {
    'default': {
        'ENGINE': 'postgresql_psycopg2',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    },
    'mssql': {
        'ENGINE': 'sql_server.pyodbc',
        'DATABASE_ODBC_DSN': 'name_of_sql_server',
        'DATABASE_NAME': 'Logs',
        'DATABASE_USER': r'user_name',
        'DATABASE_PASSWORD': 'password',
        'DATABASE_OPTIONS': {
            'driver': 'sql_server_driver',
            'dsn': 'MSSQL_Logs',
        },
    }
}

如果我注釋掉第一個默認數據庫定義,並將mssql數據庫的名稱更改為default,則可以通過以下方式訪問dbshel​​l:

manage.py dbshell

但是,如果我嘗試通過以下方式直接訪問上面定義的mssql數據庫:

manage.py dbshell mssql

我收到一個錯誤:

TypeError: handle() takes exactly 1 argument (7 given)

幾乎好像無法正確解析該定義。 所以我的問題基本上是這樣的:將它們配對在一起時,是否會錯誤地定義數據庫?

根據此鏈接https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-dbshel​​l ,您應該使用python dbshell --database mssql

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM