2012-05-05 30 views

回答

9

我會推薦sqlalchemy - 它提供了很大的靈活性,並有一個複雜的接口。

此外,它不僅僅是綁定postgresql。

無恥c從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() 

澄清因意見(更新):

sqlalchemy本身不是司機,而是所謂的對象關係映射器 。它提供幷包含它自己的驅動程序,它在postgresql中是libpq,它本身被包裝在psycopg2中。

由於OP強調他想要的「最佳司機」到「連接到PostgreSQL」我指着SQLAlchemy的了,即使它可能是一個虛假的答案術語明智的,但意向明智我覺得這是更有用的一個。

即使我不喜歡這種「脫毛」的舞蹈,但我仍然因爲感受到壓力而感到壓力來自我的回答。

對於因爲我的誹謗而引起的任何不適,我表示歉意。

+0

您還需要一個sqlalchemy不是的驅動程序嗎? –

+0

包含電池。該驅動程序將是sqlalchemy提供的數據庫引擎。 atm afaik這些是:sqlite,postgresql,mysql,firebird,drizzle,oracle和其他一些。不需要額外的軟件包。 –

+0

如果sqlchemy可以對數據庫引擎進行抽象,那麼我認爲給了我更多的靈活性和未來的可擴展性。在我的情況下的表現問題不是一個關鍵問題。 python本地驅動程序將給我更強大的數據訪問工具,但所有討厭的工作將是我的責任。 我認爲我會犧牲表現而不是重新發明輪子 –

12

psycopg2是每個人使用CPython的人。不過,對於PyPy,你會想看看純Python的。

+0

關於在PyPy上運行Django有一個很好的說法:http://blip.tv/djangocon-europe-2011/monday-1400-alex-gaynor-good-5343953 –