すべての列名を取得したいテーブルがありますが、インターウェブを閲覧した後、機能する方法を見つけることができませんでした。これは私のテーブルがどのように見えるかです:
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'))
Forループからすべての列名を出力できるようにしたいと思います。例:
"col1", "col2", "col3".... etc
これは通常のSQLではかなり簡単ですが、sqlAlchemyテーブルモデルを使用してそれを行う方法を理解できないようです
__table__.columns
からすべての列を取得します。
myTable.__table__.columns
または
myTable.__table__.c
列はmyTable.col1
の形式になります(テーブル名が含まれます)。列名だけが必要な場合は、各列の.key
を取得します。
[column.key for column in myTable.__table__.columns]