我需要让两个独立的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