Sqlalchemy 如何代替';query.add#u列';是否将字段添加到实体?
我有一些sqlalchemy查询: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),
>>> 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
我试了又试,但我也只能想到这一点:(