2012-05-05 10 views

Respuesta

9

Recomendaría sqlalchemy - ofrece una gran flexibilidad y una interfaz sofisticada.

Además, no está obligado a postgresql solo.

Shameless c & P de la 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() 

Aclaraciones debido a los comentarios (actualización):

sqlalchemy sí mismo no es un conductor, pero una llamada Object Relational Mapper . Proporciona e incluye sus propios controladores, que en el caso postgresql es libpq, que a su vez está envuelto en psycopg2.

Debido a que la OP hizo hincapié en que quería que el "mejor piloto" a "conectar a PostgreSQL" Señalé sqlalchemy a cabo, aunque podría ser una respuesta falsa terminología-sabia, pero la intención en cuanto me sentí que era el más útil.

E incluso si no me gusta el baile "desgarrador", igual terminé haciéndolo, no obstante, debido a la presión que sentía por los comentarios a mi respuesta.

Pido disculpas por las irritaciones causadas por mis calumnias.

+0

¿Aún necesita un controlador que no sea sqlalchemy? –

+0

las baterías están incluidas. El controlador sería un motor de base de datos proporcionado por sqlalchemy. atm afaik estos son: sqlite, postgresql, mysql, firebird, drizzle, oráculo y algunos otros. no se requieren paquetes adicionales. –

+0

Si sqlchemy puede hacer la abstracción del motor de base de datos, creo que me dará más flexibilidad y escalabilidad para el futuro. La cuestión del rendimiento en mi caso no es un problema crítico. Un controlador nativo de python me dará una herramienta más poderosa para el acceso a los datos, pero todo el trabajo desagradable será de mi responsabilidad. Creo que sacrificaré el rendimiento para no reinventar la rueda –

12

psycopg2 es el que todos usan con CPython. Sin embargo, para PyPy, querrás ver los Python puros.

+0

Se habla mucho sobre la ejecución de Django en PyPy: http://blip.tv/djangocon-europe-2011/monday-1400-alex-gaynor-good-5343953 –