我需要在查询中重命名一列,但是我不能在列级上进行重命名,例如
session.query(MyModel.col_name.label('new_name'))
有什么方法可以在结果 query 对象上重命名列?
例如,类似
session.query(...).blah().blah().rename_column('old_name', 'new_name')
答案 0 :(得分:0)
看起来没有任何内置解决方案 - 但这是我实施的一种解决方法,可以帮助您:
要在查询执行前重命名:
# Start off with your regular query – but as a subquery
query = session.query(MyModel.col_name.label('old_name')).subquery()
# Now, perform a second query with new labels
query_2 = session.query(query.c.old_name.label('new_name'))
# Or, if there's only one column:
query_3 = session.query(query.label('new_name'))