2015-11-02 14 views
0

我想Django的由給定參數不管settings.py. 啓動時爲了這個目的使用特定的數據庫(sqlite)爲默認啓動,我在manage.py中添加了以下代碼,以便在啓動時可以使用參數設置settings.DATABASES如何讓Django的選擇一個特定的默認數據庫時,使用命令行參數

# manage.py 

from myapp import settings 
settings.DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': os.path.join(settings.DB_PATH, sys.argv[3]), 
    }, 
} 

,但它不工作.... Django的訪問仍然在settings.py

代表我想這是因爲Django的已經有設置默認DB做之前,我改變settings.DATABASES在manage.py源數據庫。

因此,更改沒有任何影響。

Django何時使用設置選擇默認數據庫? 如果我可以在Django選擇默認數據庫之前更改settings.DATABASES,我會工作,我認爲。

有什麼辦法可以在運行時更改默認數據庫嗎? 因此,即使Django選擇已經默認的數據庫,我可以改變它。

這並不意味着使用`model.objects.using('dbname')動態地更改數據庫。

+3

爲什麼地球上你會做這樣的事情?你試圖解決的**真正**問題是什麼? –

回答

1
./manage.py migrate --database=default 
相關問題