我需要讓兩個獨立的Django項目共享相同的數據庫。在project_1
我有模型創建對象,我需要使用project_2
(主要是圖像)。如何讓兩個django項目共享相同的數據庫
的project_1_2
樹結構是:
project_1/
manage.py
settings.py
project_1_app1/
...
...
project_2/
manage.py
settings.py
project_2_app1/
...
...
這是最好的方法呢?
編輯:我在我的開發環境中使用sqlite3。
我想保留我的兩個django項目作爲獨立項目(以便兩者都可以從各自的存儲庫安全升級)。
# in project_1/settings.py
import os
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
..
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(PROJECT_ROOT, 'development.db'),
},
}
...
# in project_2/settings.py
import os
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
..
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(PROJECT_ROOT, 'development.db'),
},
}
...
通過這種方式,每個項目都有自己的development.db
(一個,我需要共享):
project_1/development.db
project_2/development.db
,但我想我需要做更多的東西,使之共享(和獨特)。 對我最好的是保持在development.db
PROJECT_1 /路徑和所設定的project_2/settings.pyDATABASES
指向PROJECT_1/development.db。
這些項目是否具有通用功能或應用程序? – devxplorer
https://docs.djangoproject.com/en/1.10/topics/db/multi-db/ – madzohan
看看[樣板工程](https://github.com/devxplorer/django-multi-instances)我創建了特殊爲你;)我建議你使用這種方法,因爲你很可能會共享應用程序之間的項目。 – devxplorer