I have a table where I would like to fetch all the column names however after browsing the interwebs I could not find a way that works. This is what my table looks like:
class myTable(Base): __tablename__ = 'myTable' col1 = Column(Integer, primary_key=True) col2 = Column(Unicode(10)) col3 = Column(Integer) col4 = Column(Numeric(10, 6)) col5 = Column(Numeric(6,3)) col6 = Column(Numeric(6,3)) child = relationship('tChild', backref=backref('children'))
I would like to be able to print all the column names from a for loop. ex:
"col1", "col2", "col3".... etc
This is pretty easy with regular sql but I can’t seem to figure out how to do it using sqlAlchemy table models
Advertisement
Answer
You get all of the columns from __table__.columns
:
myTable.__table__.columns
or
myTable.__table__.c
The columns would be in format myTable.col1
(table name is included). If you want just column names, get the .key
for each column:
[column.key for column in myTable.__table__.columns]