동일한 Django 프로젝트 내에 별도의 SQLite 데이터베이스를 가질 수 있습니까?

StackOverflow https://stackoverflow.com/questions/168218

  •  03-07-2019
  •  | 
  •  

문제

Django 프로젝트에서 특정 앱에 대해 별도의 SQLITE 데이터베이스를 작성하는 것을 고려하고있었습니다.
그러나 가능한 경우 직접 SQLITE 액세스를 사용하고 싶지 않았습니다. 이 데이터베이스에 대한 Django 스타일 ORM 액세스가 이상적입니다.
이게 가능해?

고맙습니다.

도움이 되었습니까?

해결책

다른 팁

예-이것에 대한 저수준 API가 제자리에 있습니다. 현재 편리한 고급 API가 누락되었습니다. 이 인용문은 James Bennett (Django의 릴리스 관리자) 프로그래밍 Reddit:

코드베이스를 보는 사람들을 위해 매우 낮은 수준 API로 몇 달 동안 QuerySet a Query, 결국 DB 연결을 인수로 받아들입니다). 그것에 대한 높은 수준의 문서화 된 API는 없지만, 이미하고 있고 다중 DB/샤딩 시나리오와 같은 일을해온 사람들을 알고 있습니다.

... 반드시 큰 글쓰기가 필요한 것은 아닙니다. 그만큼 __init__() 의 방법 QuerySet 키워드 인수를 수락합니다 query, 이것은 인스턴스 여야합니다 django.db.models.sql.Query. 그만큼 __init__() 의 방법 Query, 차례로 키워드 인수를 수락합니다 connection, (DB의 백엔드 특정 서브 클래스)의 인스턴스 여야합니다. django.db.backends.BaseDatabaseWrapper.

거기에서 그것은 매우 쉽습니다. 예를 들어, 당신은 재정의 할 수 있습니다 get_query_set() 항상 관리자에게 a QuerySet 원하는 연결을 사용하거나 Sharding Logic과 같은 것을 설정하여 들어오는 쿼리 매개 변수 등을 기반으로 DB를 사용할 것인지를 파악하십시오.

현재 아니요 - 각 프로젝트는 하나의 데이터베이스를 사용하며 모든 앱은 그 안에 있어야합니다. 앱 특정 데이터베이스를 원한다면 Django Orm을 통해 그렇게 할 수 없습니다. Django Wiki 페이지를 참조하십시오 다중 데이터베이스 지원.

이것은 아직 불가능하지만 위키에 대한 이야기가 있습니다. Django의 다중 데이터베이스 지원. 그것은 또한 도중에 자랐습니다 Djangocon 2008에서 Django의 미래에 대한 기조 연설 우선 순위가 높은 문제 중 하나를 만들었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top