On Tue, Aug 18, 2020, at 5:20 PM, Dale Preston wrote: > I'm using sqlalchemy 1.3.18. I'm trying to write an app that looks at data > from an ORM declarative table without necessarily knowing the table > definition. > > What I am looking for is a way to get a single object (row in resultSet), > having the name of column[1] is "lastname", and having "lastname" as a string > in memory, how can I get the value of the "lastname" field from the row in > resultSet? > > It's easy if I know in code that the row has a lastname property and I can > use row.lastname but I want to do something like row["lastname"] or > row.columns["lastname"] if there's a way.
to get individual columns in the row you query for those columns directly: row = sess.query(User.lastname).first() print(row.lastname) otherwise you can always label a column if you need: row = sess.query(User.anything.label("lastname")).first() print(row.lastname) > > I'm using reflection to get the columns for the table. Here's some code I > tried: > > class Users(Base): > __tablename__ = 'users' > userid = Column(String(80), primary_key=True) > lastname = Column(String(40), nullable=False) > firstname = Column(String(40), nullable=False) > emailaddress = Column(String(80), nullable=False) > > def ReflectTableColumns(DbEngine, meta, targetTable): > tableschema = Table(targetTable, meta, autoload=True, > autoload_with=DbEngine) > cols = dict() > for c in tableschema.columns: > print("{0}\t|\t{1}".format(c.name, c.type)) > cols[c.name] = c.type > > return cols > > def GetUsers(): > DBSession = sessionmaker(bind=Engine) > session = DBSession() > ShowTableData(session.query(Users).all(), 'users') > > > def ShowTableData(resultSet, tablename): > columns = ReflectTableColumns(Engine, Base.metadata, tablename) > columnNames = list(columns.keys()) > print (type(resultSet)) > for row in resultSet: > print (row.items[columnNames[1]]) > print (row.columns[columnNames[1]]) > print (row[columnNames[1]]) > > GetUsers() > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/f11bf60e-e872-489e-9a9b-03998440bbb1n%40googlegroups.com > > <https://groups.google.com/d/msgid/sqlalchemy/f11bf60e-e872-489e-9a9b-03998440bbb1n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/70b1537b-14ea-4819-ae48-2c145d8dae63%40www.fastmail.com.