2012-05-05 35 views

Trả lời

9

Tôi muốn giới thiệu sqlalchemy - nó cung cấp sự linh hoạt tuyệt vời và có một inteface tinh vi.

Hơn nữa, nó không bị ràng buộc vào postgresql một mình.

Shameless c & p từ tutorial:

from sqlalchemy import create_engine 
from sqlalchemy.orm import sessionmaker 

# an Engine, which the Session will use for connection 
# resources 
some_engine = create_engine('postgresql://scott:[email protected]/') 

# create a configured "Session" class 
Session = sessionmaker(bind=some_engine) 

# create a Session 
session = Session() 

# work with sess 
myobject = MyObject('foo', 'bar') 
session.add(myobject) 
session.commit() 

Làm rõ do ý kiến ​​(cập nhật):

sqlalchemy bản thân không phải là một người lái xe, nhưng một cái gọi là Object Relational Mapper . Nó cung cấp và bao gồm các trình điều khiển riêng của nó, mà trong trường hợp postgresql là libpq, mà chính nó được bọc trong psycopg2.

Bởi vì OP nhấn mạnh ông muốn "lái xe tốt nhất" để "kết nối để PostgreSQL" i chỉ SQLAlchemy ra, ngay cả khi nó có thể là một câu trả lời sai ngữ-khôn ngoan, nhưng ý định khôn ngoan tôi cảm thấy nó là hữu ích hơn.

Và ngay cả khi tôi không thích điệu nhảy "tách tóc", tôi vẫn kết thúc làm việc đó, tuy nhiên, do áp lực từ cảm nhận đến câu trả lời của tôi.

Tôi xin lỗi vì bất kỳ sự kích thích nào gây ra bởi sự vu khống của tôi.

+0

Bạn vẫn cần một tài xế mà sqlalchemy không? –

+0

pin được bao gồm. Trình điều khiển sẽ là một bộ máy cơ sở dữ liệu mà sqlalchemy cung cấp. atm afaik đây là: sqlite, postgresql, mysql, firebird, drizzle, oracle, và một số khác. không có gói bổ sung được yêu cầu. –

+0

Nếu sqlchemy có thể làm trừu tượng hóa cơ sở dữ liệu, tôi nghĩ điều đó mang lại cho tôi sự linh hoạt và khả năng mở rộng cho tương lai. Câu hỏi về hiệu suất trong trường hợp của tôi không phải là vấn đề quan trọng. Trình điều khiển gốc tự nhiên sẽ cung cấp cho tôi công cụ mạnh mẽ hơn để truy cập dữ liệu nhưng tất cả công việc khó chịu sẽ là trách nhiệm của tôi. Tôi nghĩ rằng tôi sẽ hy sinh hiệu suất để không sáng tạo lại bánh xe –

12

psycopg2 là thứ mọi người sử dụng với CPython. Đối với PyPy, bạn muốn xem xét các Python thuần túy.

+0

Có một cuộc trò chuyện hay về việc chạy Django trên PyPy: http://blip.tv/djangocon-europe-2011/monday-1400-alex-gaynor-good-5343953 –

Các vấn đề liên quan