2012-04-07 2 views
1

Ich habe bestimmte Spalten von mehreren ORM-basierten Klassen zu serialisieren. Ich möchte standardmäßig die Spalten angeben, die bei der Erstellung der ORM-Klasse angegeben wurden.Wie kann ein dict von Spaltenwerten aus einer SQLAlchemy-ORM-Klasse generiert werden?

class AXSection(Base): 
    __tablename__ = 'axsection' 
    __table_args__ = {'mysql_engine':'ISAM', 'mysql_charset':'utf8'} 
    id = Column(BigInteger, primary_key=True) 
    enabled = Column(String(1), nullable=False, default='T') 
    pages = relationship('AXPage', backref='axsection')a 
    name = Column(String(255), nullable=False) 

Wie schreibe ich eine Methode, um die Namen der Spalten zurückzugeben?

Antwort

3

Das Tabelle Attribut enthält die Liste der Spaltennamen. Um die Spaltennamen mit Ihrem Beispiel AXSection Typ, verwenden assoziiert zu drucken:

print AXSection.__table__.columns 

Ergebnisse in:

['axsection.id', 'axsection.enabled', 'axsection.name'] 
+0

Es ist ein Tippfehler in der Antwort. AXSection .__ table __. Colums sollte AXSection .__ table __. Columns Konnte es nicht beheben, da stackoverflow mindestens eine 6-stellige Bearbeitung benötigt. – gorantq

+0

Danke für den Fang. Die Antwort wurde bearbeitet – user590028