2つの別々のDjangoプロジェクトで同じデータベースを共有する必要があります。 project_1
には、project_2
(主に画像)で使用する必要のあるオブジェクトを作成するモデルがあります。2つのdjangoプロジェクトを同じデータベースで共有する方法
project_1_2
のツリー構造は、次のとおりです。最善のアプローチである
project_1/
manage.py
settings.py
project_1_app1/
...
...
project_2/
manage.py
settings.py
project_2_app1/
...
...
?
EDIT:自分の開発環境でsqlite3を使用しています。
私は自分の2つの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
(私が共有する必要がある1)があります:
project_1/development.db
project_2/development.db
が、私はそれを共有するためにもっと何かをする必要があります(と推測ユニーク)。私にとって 最高のてproject_1 /パスでdevelopment.db
を保つため、てproject_1/development.dbを指すようにDATABASES
project_2/settings.pyを設定することです。
これらのプロジェクトに共通の機能やアプリがあるかどうか – devxplorer
https://docs.djangoproject.com/en/1.10/topics/db/multi-db/ – madzohan
[ボイラープレートプロジェクト](https://github.com/devxplorer/django-multi-instances)をご覧ください。私はこのアプローチを使用することをお勧めします。なぜなら、あなたはプロジェクト間でアプリケーションを共有する可能性が高いからです。 – devxplorer