2013-09-04 4 views
2

나는 djnago를 처음 사용합니다.django 1.5 with mongodb

장고 (현재 1.5.2)와 mongodb (현재 2.4.6)를 함께 사용하고 싶습니다. 은 지금까지 나는 시도했다 :

  1. mongodbengine : (더 잘 he said을) 문서 클래스에서 상속 좋아하지 않았다.
  2. django를 실행했을 때만 원했던 django-mongodb-engine은 1.5.2 대신 1.3으로 점프합니다. [1.3 생각해 보지 않았고 1.3 분기에서 norel을 추측하여 가정했습니다 1.5.2에 머무르는 것이 가장 좋을 것입니다.]
  3. looke those에서 여기 묻는 자신에게 시간을 절약하려고 ..

은 알려 주시기 바랍니다, 내 목표는 (VIRTUALENV 포함) 장고 1.5.2을 실행하는 데 내가 MongoDB를 DB로 일반 모델을 사용할 수 있습니다. 가장 좋은 방법은 무엇입니까?

답변

3

djangomongoengine은 아직 통합되어 있지 않지만 여전히 작동하고 있습니다. mongoengine을 사용하려면 플라스크를 사용하는 것이 좋습니다. 다른 방법은 사용하기가 번거롭기 때문입니다. mongodb에 커서를 사용하여 models.py 파일에서 연결 한 다음 Document에서 상속하면됩니다. 너의 수업.

따라서 모델을 사용할 때마다 데이터베이스를 여러 번 다시 연결해야합니다. 이것은 장고가 일반적으로 작동하는 방식이 아닙니다. 하나의 연결을 사용하여 여러 쿼리를 처리하여 작업을보다 효율적으로 수행하기 때문입니다.

이것은 장기적으로 진짜 고통이되고, 나는 장고와 mongoengine 또는 mongodb을 사용하는 것이 좋습니다. 특히 처음에 장고를 처음 접했던 사람에게는 더욱 그렇습니다.

django를 처음 사용하는 경우 Sqlite3 또는 PostgreSQL과 같은 RDBMS를 사용하여 개발하십시오. 그러나 mongodb을 사용하는 경우 이어야합니다. mongodbmongoengine을 통해 플라스크와 더 잘 통합되어 있기 때문에 처음에는 장고를 다시 사용하는 것이 좋습니다.

그리고 mongodb를 처리 할 때 mongoenginemongodb에 가장 적합한 지원하며 mongodb과 파이썬으로 작업 할 때 거기까지 가장 유연한 옵션으로 때문에 당신이 mongoengine 이외에는 사용하지 않는 것이 좋습니다 것입니다. 뿐만 아니라 구문은 장고의 ORM과 거의 동일합니다.

깊은 후회 더 좋은 답변을 제공 할 수 없으며, 유일한 해결책은 매번 연결을 유지하는 것입니다. 그리고이 모든 것이 장고의 형태와 잘 통합되지 않는다는 것은 말할 것도 없습니다. 이것은 큰 불만입니다.

1

사용자와 같은 django 모델에 대해 SQL 관계형 데이터베이스를 사용할 수 있습니다. 그러면 auth 인 경우 Database Router을 사용하여 앱 이름을 기반으로 라우팅 한 다음 관계형 데이터베이스를 사용할 수 있습니다. 이렇게하면 app/model에서 사용할 데이터베이스를 지정할 수 있습니다.

이 사이트에있는 누군가의 사례는 Mixing Postgres and Mongo입니다.