2012-05-05 16 views

Antwort

9

Ich würde empfehlen sqlalchemy - es bietet große Flexibilität und hat eine anspruchsvolle Schnittstelle.

Weiter ist es nicht postgresql allein gebunden.

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

Abklärungen aufgrund Kommentare (Update):

sqlalchemy selbst ist kein Fahrer, sondern ein sogenanntes Object Relational Mapper . Es bietet und enthält seine eigenen Treiber, die im Postgresql-Fall ist libpq, die selbst in psycopg2 verpackt ist.

Da die OP betonte wollte er den „besten Fahrer“ auf „ Verbindung zu PostGreSQL“ i wies sqlalchemy, auch wenn es eine falsche Antwort Terminologie-weise sein könnte, aber die Absicht weise fühlte ich es das sein, nützlicher.

Und selbst wenn ich den "haarspalterischen" Tanz nicht mag, habe ich es dennoch getan, aufgrund des Drucks, der aus den Kommentaren zu meiner Antwort kam.

Ich entschuldige mich für Irritationen, die durch meine Verleumdung verursacht wurden.

+0

Sie brauchen immer noch einen Treiber, der sqlalchemy nicht ist? –

+0

die Batterien sind im Lieferumfang enthalten. Der Treiber wäre eine Datenbank-Engine, die sqlalchemy bietet. atm afaik sind dies: sqlite, postgresql, mysql, firebird, nieselregen, oracle und einige andere. Es sind keine zusätzlichen Pakete erforderlich. –

+0

Wenn sqlchemy kann die Abstraktion zu Datenbank-Engine tun, denke ich, dass mir mehr Flexibilität und Skalierbarkeit für die Zukunft geben. Die Frage der Leistung ist in meinem Fall kein kritisches Thema. Ein nativer Python-Treiber wird mir ein leistungsfähigeres Werkzeug für den Datenzugriff geben, aber alle unangenehmen Arbeiten sind meine Verantwortung. Ich denke, dass ich Leistung opfern werde, um das Rad nicht neu zu erfinden –

12

psycopg2 ist diejenige, die jeder mit CPython verwendet. Für PyPy solltest du dir jedoch die reinen Python-Versionen ansehen.

+0

Es gibt eine gute Rede über den Betrieb von Django auf PyPy: http://blip.tv/djangocon-europe-2011/monday-1400-alex-gaynor-good-5343953 –

Verwandte Themen