2012-05-05 11 views

答えて

9

私はsqlalchemyをお勧めします。柔軟性が高く洗練されたインターフェイスを備えています。

さらに、postgresqlだけにバインドされていません。

恥知らずtutorialから& P C:によるコメントに

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自体はリレーショナルマッパードライバではなく、いわゆるオブジェクト。それはそれ自身のドライバを提供し、それを含んでいます。ポストグラムのケースではlibpqであり、それ自体はpsycopg2にラップされています。

OPは、彼が私はそれが虚偽の答弁の用語ワイズかもしれない場合でも、SQLAlchemyのを指摘したが、意図通りに私はそれがあることを感じた「は、PostgreSQLするを接続」するための「最適なドライバを」望んでいた強調しているのでより有用なもの。

「私が「髪の毛分け」のダンスが好きではないにしても、それでも私はコメントから私の答えに感じる圧力のために、やってしまった。

私の中傷によって引き起こされるいかなる苛立ちについてもお詫び申し上げます。

+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 –