sqlalchemy显示查询的完整行(所有列)

时间:2019-05-01 05:30:33

标签: python sqlalchemy

当出现特定错误时,我想从sqlalchemy查询(ORM)中记录完整行(在我的示例中,这是找到多个行的时候,但这与问题无关)。 此刻,我在每一列上都这样写。

try:          
    result = query.one_or_none()
except MultipleResultsFound:
    self.logger.info('MultipleResultsFound!!')
    for row in query.all():
        self.logger.info('column1:{}, column2:{}, column3:{}'.
                          format(row.column1, row.column2, row.column3))    

但是必须有一种更好的方法,而无需处理每一列以显示日志中的每一列。 如何使用一个简单的命令显示一行中的所有列?

1 个答案:

答案 0 :(得分:0)

尝试this方法

还请注意,您可以使用.label在查询中命名您的函数。

例如db.session.query(func.sum(SomeModel.something).label('total'))

for row in query.all():
  print(row._asdict())