tutorial query foreign example create python sqlalchemy pylons pyramid

python - query - sqlalchemy relationship



Cómo obtener nombres de columna del resultado de SQLAlchemy(sintaxis declarativa) (4)

Estoy trabajando en un proyecto piramidal y tengo la tabla en SQLAlchemy en sintaxis declarativa

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

Obtengo los resultados usando

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

¿Cómo puedo obtener los nombres de columna de este resultado.

PD: No puedo usar this método porque estoy usando la sintaxis declarativa.



Puedes hacer algo similar a la respuesta de Foo Stack sin tener que recurrir a campos privados haciendo:

conn.execute(query).keys()


Simplemente jugando, esta sintaxis te dará todas las columnas (para resolver tu problema, configura la consulta para ver solo una tabla / objeto):

conn.execute(query)._metadata.keys


from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import (Column, Index, Date, DateTime, Numeric, BigInteger, String, ForeignKey, Boolean) Base = declarative_base() class Project(Base): """sqlalchemy ORM for my table.""" __tablename__ = "table1" id = Column("id", BigIntegerID, primary_key=True, autoincrement=True) date = Column("date", Date, nullable=False) value = Column("value", Numeric(20, 8)) ... ...

Entonces esto devolverá los nombres de las columnas [''id'', ''fecha'', ''valor'', ...]:

Project.__table__.columns.keys()

O esto

Project.metadata.tables[''table1''].columns.keys()