pythonsqlalchemypylonspyramid

How to get column names from SQLAlchemy result (declarative syntax)


I am working in a pyramid project and I've the table in SQLAlchemy in declarative syntax

"""models.py"""
class Projects(Base):
    __tablename__ = 'projects'
    __table_args__ = {'autoload': True}

I get the results by using

""""views.py"""
session = DBSession()
row_data = session.query(Projects).filter_by(id=1).one()

How can I get the column names from this result.

PS: I am unable to use this method since I am using the declarative syntax.


Solution

  • The difference is between ORM and non-ORM, not declarative, which is just a helper for the ORM.

    Query has an attribute column_descriptions that was added for this purpose:

    https://docs.sqlalchemy.org/en/20/orm/queryguide/query.html#sqlalchemy.orm.Query.column_descriptions