Sqlalchemy 如何代替';query.add#u列';是否将字段添加到实体?

Sqlalchemy 如何代替';query.add#u列';是否将字段添加到实体?,sqlalchemy,Sqlalchemy,我有一些sqlalchemy查询: >>> items = ( Company.query .add_column(Address.city) .join(Company.address) .filter(and_( ...some filters... )) .all() ) >>> items [(Company(6239), Berlin), (Company(5388), Moscow),

我有一些sqlalchemy查询:

>>> items = (
    Company.query
    .add_column(Address.city)
    .join(Company.address)
    .filter(and_(
        ...some filters...
    ))
    .all()
)
>>> items
[(Company(6239), Berlin), (Company(5388), Moscow), ...]
如何修改查询,将Address.city放入实体公司? 我希望它看起来像:

...
>>> items
[Company(6239), Company(5388), ...]
>>> items[0].city
Berlin

谢谢。

我不认为您可以在不修改模型的情况下直接在查询中执行此操作。
但您可以在代码中轻松实现这一点:

>>> items
[(Company(6239), Berlin), (Company(5388), Moscow), ...]

>>> # set company
>>> for (_company, _city) in items:
        _company.city = _city
>>> # remove city attribute
>>>> items = [_company for (_company, _city) in items]

>>> items
[Company(6239), Company(5388), ...]
>>> items[0].city
Berlin

我试了又试,但我也只能想到这一点:(