2
내 프로젝트에 Django1.3을 설치하여 여러 데이터베이스를 사용하려고했습니다. 내 경우에는 다른 sqlite3 파일입니다. 난 장고 문서뿐만 아니라 많은 검색하지만 헛되이 읽고있다. 특정 응용 프로그램에 대한 테이블이 기본 데이터베이스 나 다른 DB를 하나로 만들어지고하지 않는 이유 --database와 syncdb를 사용하는 경우Django : sqlite3을 사용하여 여러 데이터베이스 설정
문제
- 에 직면?
- auth와 같은 Django 프레임 워크 내부 테이블이 언급 된 모든 데이터베이스에 대해 생성됩니다. 이 기능이 동작하는 방식입니까 아니면 잘못 구성 했습니까?
내 코드
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(SITE_ROOT, "db/defaultdb.sqlite"),
},
'app1': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(SITE_ROOT, "db/app1db.sqlite"),
}
}
DATABASE_ROUTERS = ['dbrouter.MyAppRouter']
dbrouter.py
class MyAppRouter(object):
def db_for_read(self, model, **hints):
if model._meta.app_label == 'app1':
return 'app1db'
return None
def db_for_write(self, model, **hints):
if model._meta.app_label == 'app1':
return 'app1db'
return None
def allow_syncdb(self, db, model):
if db == 'app1db':
return model._meta.app_label == 'app1'
elif model._meta.app_label == 'app1':
return False
return None
감사 EV를 에리네. 당신의 db_for_read
및 db_for_write
방법에서