gpt4 book ai didi

python - SqlAlchemy ORM - 在查询时限制列(选择) - column_property

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:05 26 4
gpt4 key购买 nike

我知道我可以延迟加载表中的列:

session.query(MyTable).options(defer(colname) 
for colname in ['col4', 'col5', .., 'colN'])

我只想要前 3 列,所以可以将其缩短为以下内容:

session.query(MyTable).options(defer(col.name) 
for col.name in MyTable.__table__.columns
if col.name not in ['col1', 'col2', 'col3'])

因为 MyTable 有一些额外的 column_property 没有在 MyTable.__table__.columns 中列出,所以这些会包含在查询中尽管我不想要它们。

那么有没有一种构造可以直接将我想要的表达为限制?例如像

session.query(MyTable).options(XXselect('col1', 'col2', 'col3'))

最佳答案

如果你只想要值,你可以调用:

session.query(Mytable.col1, MyTable.col2, MyTable.col3).

如果您想要带有延迟列的完整对象,MyTable.__table__.columns 应该会为您提供所有列,而不管混入。

关于python - SqlAlchemy ORM - 在查询时限制列(选择) - column_property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11381610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com