web-dev-qa-db-ja.com

sqlAlchemyテーブルモデルからテーブル列を取得します

すべての列名を取得したいテーブルがありますが、インターウェブを閲覧した後、機能する方法を見つけることができませんでした。これは私のテーブルがどのように見えるかです:

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テーブルモデルを使用してそれを行う方法を理解できないようです

16
john

__table__.columnsからすべての列を取得します。

myTable.__table__.columns

または

myTable.__table__.c

列はmyTable.col1の形式になります(テーブル名が含まれます)。列名だけが必要な場合は、各列の.keyを取得します。

[column.key for column in myTable.__table__.columns]
22
alecxe