sqlalchemy load_only列并使用label重命名列名

时间:2018-06-01 18:19:38

标签: sqlalchemy

我正在尝试使用下面提到的类似查询:

session.query(User,Address).join(User.addresses).options(Load(User).load_only("name", "fullname"),Load(Address).load_only("email_addres"))

我想更改列名,即名称为Name,email_address为EmailId 我知道我可以在SqlAlchemy中使用.label()。但我的问题是:我可以在上面的查询中使用label(),即。,以及load_only()。如果是这样,那怎么样?如果没有,那么我需要使用什么?

请帮帮我。

1 个答案:

答案 0 :(得分:1)

session.query(User.name.label('Name'),User.fullname.label('fullname'),
Address.email_address.label('email_address')).join(Address)

这应该为您提供所需的标签列。 我过去没有使用load_only,但我使用了with_entities标签,它运行正常。将标签视为SQL中的AS。希望它有所帮助。