2012-05-08 1 views
1

TurboGear 프레임 워크를 사용하여 Mongodb 서버의 데이터베이스 세트에 액세스해야한다는 요구 사항을 발견했습니다. 데이터베이스를 나열하고 사용자가 하나를 선택하여 이동할 수있게해야합니다. 지금까지 내가 본 것처럼 TurboGear는 여러 데이터베이스를 사용할 수 있도록 지원하지만 development.ini에서 미리 지정해야합니다.TurboGear 프레임 워크를 사용하여 Python으로 데이터베이스를 변경하는 방법은 무엇입니까?

db 서버 (또는 특정 데이터베이스)에 연결 한 다음 데이터베이스 목록을 가져 와서 즉시 선택하는 방법이 있습니까?

답변

1

의 경우 SQLAlchemy은 더 똑똑한 세션을 사용하여 얻을 수 있습니다.

sqlalchemy.orm.Session 클래스를 서브 클래스 화하고 get_bind(self, mapper=None, clause=None) 메서드를 재정의하십시오. 이 메서드는 세션에서 사용할 엔진을 결정할 때마다 호출되며 엔진 자체를 반환 할 것으로 예상됩니다. 그런 다음 원하는 위치에 엔진 목록을 저장하고 올바른 엔진 목록을 반환 할 수 있습니다.

명나라/MongoDB를 같은 아마 모델/session.py에 ming.Session를 서브 클래 싱하고 올바른 데이터베이스를 반환 할 ming.Session.db 속성을 overridding에 의해 달성 될 수를 사용하여.