2009-07-20 5 views
21

Django 님의 ORM 이외에 SQLAlchemy을 사용한 사람이 있습니까?SQLAlchemy 및 django, 제작 준비가 되었습니까?

Django의 ORM을 개체 조작에 사용하고 SQLalchemy를 복잡한 쿼리 (예 : 왼쪽 외부 조인이 필요한 쿼리)에 사용하고 싶습니다.

가능합니까?

참고 : django-sqlalchemy에 대해 알고 있지만 프로젝트가 준비 상태가 아닌 것 같습니다.

답변

17

,

  1. 는 장고 ORM의 스키마 정의가 syncdb를 통해 DB를 쓸 수 있습니다. 당신은 admin 인터페이스를 얻습니다. 당신이 복잡한 필요 뷰 1에서

 

    def view1(request): 
     import sqlalchemy 
     data = sqlalchemy.complex_join_magic(...) 
     ... 
     payload = {'data': data, ...} 
     return render_to_response('template', payload, ...) 
 
6

둘 다 사용하는 것이 좋습니다. 당신이해야 하나 :

  1. 사용 장고의 ORM 및 사용자 정의 SQL을 사용하는 경우 장고에 내장 된 SQL 생성 요구 사항을 충족하거나하지 않습니다 (복잡성의 가격으로 당신을 세밀하게 제어 할 수 있습니다)
  2. 사용 SQLAlchemy의 필요에 따라 Elixir과 같은 선언적 레이어를 사용하면 좀 더 쉽게 생활 할 수 있습니다.

물론 장고의 관리자가 필요한 경우 이러한 방법 중 첫 번째 방법을 사용하는 것이 좋습니다. 내가 할 것이 무엇

+2

둘 다 사용하는 것이 좋은 방법이 아닌 이유를 자세히 설명해 주시겠습니까? –

+5

어렵고 빠른 규칙이 아닙니다. 같은 일을하는 시스템에 두 개의 구성 요소가있는 것은 일반적으로 의미가 없습니다. 물론 가능합니다. 많은 것은 취미 응용 프로그램인지, 개발 팀의 크기인지 등에 따라 다릅니다. –

4

야곱 카플란 - 모스 수시로 입력 "수입 SQLAlchemy의"에 입원 가입 할 수 있습니다. 너무 먼 미래에 sqlalchemy 결과에 대한 queryset 어댑터를 작성할 수 있습니다.

6

이전에 해봤지만 괜찮습니다. 스키마에서 읽을 수있는 SQLAlchemy 기능을 사용하면 필드를 두 번 선언 할 필요가 없습니다.

설정에서 연결 설정을 가져올 수 있지만 유일한 문제는 postgres 드라이버의 다양한 맛 (예 : psyco와 without)입니다.

SQLAlchemy 항목이 조인과 같은 항목에 비해 훨씬 좋을만큼 가치가 있습니다.

2

최근에는 Aldjemy을 사용할 수 있습니다. 이 tutorial을 사용해보십시오.

관련 문제