【发布时间】:2016-09-29 15:37:51
【问题描述】:
我需要让两个独立的 Django 项目共享同一个数据库。在project_1 中,我有模型创建需要在project_2 中使用的对象(主要是图像)。
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.py DATABASES 设置为指向 project_1/ development.db.
【问题讨论】:
-
这些项目是否有共同的功能或应用?
-
-
感谢您的 cmets。这两个项目不共享功能或应用程序,我需要将它们保留为仅共享数据库的独立项目。我在 EDIT 中更好地解释了我的需求。