2013-04-24 1 views
3

나는 settings.py에서 이미 구성된 1 개의 mysql 백엔드 db가있는 장고 응용 프로그램을 작성하고 있습니다.Django - 우리는 다른 원격 데이터베이스에 연결할 수 있습니까

나는 우리가 원하는만큼 많은 db 설정을 추가 할 수 있지만, 원하지 않는 것은 hard coding입니다. 오히려 내가 할 수있는 말은 ad-hockly 연결해야합니다. 약 70-80 원격 기계를 검색하고 결과를 조회하고 가져옵니다.

IP address을 통해 해당 컴퓨터에 연결하려고합니다.

나는 Django에 비교적 새로운 오전, 그래서 우리는 어떻게 든 같이 구성 무언가에 넣어 기계를 조회하는 function 할 수 있는지 궁금 해서요 : 나는 구성 할 수

DATABASES = { 
'default': { 
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': 'dbName', 
    'USER': 'root',      
    'PASSWORD': 'root',     
    'HOST': '',      
    'PORT': '3306' 
    } 
} 

그래서 대신 DATABASES and default을 내 기능을 사용하여 구성을 변경하려면 Ajax call 또는 뭔가!

다행히도 내가 연결해야하는 모든 컴퓨터는 mysql을 사용하므로 문제가 없습니다. 으로 보았지만 이미 사용하고있는 경우에는 MySQLDb을 사용해야합니다. 또한 raw queries도해야합니다. |

누구나이 상황에 가장 적합한 방법을 알려줄 수 있습니까?

P.S : 로컬에서 원격 mysql 시스템에 연결하는 방법을 설명하는 this post도 살펴 보았습니다. 그러나 그것은 나를 위해 도움의 :(:(내가 믿는

+1

+1 "ad-hockly"는 +1입니다. –

답변

1

이다 3 어느 취할 수있는 꽤 몇 가지 경로가 있습니다 :

  1. using를 사용하여 DATABASES의 모든 연결을 추가하기 -하는 당신 당신은 너무 많은 conections

    을 가지고 있기 때문에 당신이하지 않으려 고 말했다
  2. 당신은 파이썬의 MySQL의 라이브러리를 사용하여 연결할 수 있습니다. 이렇게하면 당신이 djangos를 사용하여 얻을 좋은 ORM 거라고 생각하지 않습니다

  3. 봐라. django가 ORM을 사용할 수 있도록 연결을 래핑하는 방법. 장고 ORM을 사용하여 수동으로 연결을 설정하는 방법에 대한 빠른 검색을 수행했지만 아무것도 찾지 못했습니다. 모든 대답은 source code에 있습니다. 난 당신이 자신의 연결을 인스턴스하고 ORM을 사용하여 원격 데이터베이스와 상호 작용할 수 있다고 생각합니다. 지금은 살펴볼 시간이 없지만 모든 것이 소스에 있습니다.

+0

와우, 원격 데이터베이스를 인스턴스화하고 장고의 ORM을 사용할 수 있습니까? 그게 가능하다면, 내 여자 친구보다 더 아름답다고 생각할거야! 'Java'에서는 몇 줄의 코드와 hola처럼!, 원하는대로 모든 연결을 구성 할 수 있습니다! 감사합니다 @ dm03514 링크를 제공하기 위해, 그것으로 들여다 볼 것입니다. 여기에 또 하나의 질문이 있습니다. 파이썬의 mysql 라이브러리를 사용하면 설정 한 객체에'Django의 ORM'을 사용할 수 있습니까? 원시 SQL 쿼리를 사용하여 원격 데이터베이스에 쿼리 할 수 ​​있습니까? 다시 한 번 감사드립니다! –

관련 문제