2008-09-16 6 views
6

Alle Dokumente für SQLAlchemy geben INSERT und UPDATE Beispiele unter Verwendung der lokale Tabellen-Instanz (zB tablename.update() ...)Der beste Weg, Tisch Instanzen zuzugreifen, wenn SQLAlchemy die deklarative Syntax

Dadurch scheint schwierig, mit der deklarativen Syntax, ich müssen Sie auf Base.metadata.tables["tablename"] verweisen, um die Tabellenreferenz zu erhalten.

Soll ich das anders machen? Wird für die Verwendung der deklarativen Syntax eine andere Syntax für INSERT und UPDATE empfohlen? Soll ich einfach auf den alten Weg wechseln?

Antwort

2

über das __table__ Attribut auf deklarative Klasse

9

gut es funktioniert für mich:

class Users(Base): 
    __tablename__ = 'users' 
    __table_args__ = {'autoload':True} 

users = Users() 
print users.__table__.select() 

... SELECT Benutzer .......

+1

Beachten Sie, dass es ____table____ ist NICHT ____tabellenname____ – Ben

0

Es kann einige Verwirrung zwischen Tabelle (das Objekt) und Tabellenname (der Name der Tabelle, eine Zeichenfolge). Die Verwendung der Tabelle Klassenattribut funktioniert gut für mich.

Verwandte Themen