2012-05-05 9 views

risposta

9

Vorrei raccomandare sqlalchemy - offre grande flessibilità e ha un intefaccia sofisticato.

Inoltre non è limitato a postgresql da solo.

Shameless c & p dal 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() 

Chiarimenti causa dei commenti (aggiornamento):

sqlalchemy sé non è un driver, ma un cosiddetto Object Relational Mapper . Fornisce e include i propri driver, che nel caso postgresql è libpq, che a sua volta è incapsulato in psycopg2.

Perché l'OP ha sottolineato che voleva il "miglior pilota" a "connettersi a PostgreSQL" ho sottolineato SQLAlchemy fuori, anche se potrebbe essere una risposta falsa terminologia-saggio, ma l'intenzione-saggio mi è sembrato di essere il più utile.

E anche se non mi piace il ballo "spaccare i capelli", ho comunque finito per farlo comunque, a causa della pressione avvertita dai commenti alla mia risposta.

Mi scuso per eventuali irritazioni causate dalla mia calunnia.

+0

Hai ancora bisogno di un driver che sqlalchemy non è? –

+0

le batterie sono incluse. Il driver sarebbe un motore di database che fornisce sqlalchemy. atm afaik questi sono: sqlite, postgresql, mysql, firebird, drizzle, oracle e alcuni altri. non sono richiesti pacchetti aggiuntivi. –

+0

Se sqlchemy può fare l'astrazione al motore di database, penso che mi dia più flessibilità e scalabilità per il futuro. La questione delle prestazioni nel mio caso non è un problema critico. Un driver nativo Python mi fornirà uno strumento più potente per l'accesso ai dati, ma tutto il lavoro spiacevole sarà una mia responsabilità. Penso che sacrificherò le prestazioni per non reinventare la ruota –

12

psycopg2 è quello che tutti usano con CPython. Per PyPy, però, dovresti dare un'occhiata ai puri Python.

+0

C'è un bel discorso sull'esecuzione di Django su PyPy: http://blip.tv/djangocon-europe-2011/monday-1400-alex-gaynor-good-5343953 –

Problemi correlati