我正在尝试在 Async Sqlalchemy 2.0 中构建动态查询。选项以列表形式显示,如下所示:
select_options=[selectinload(Table.entitity1).selectinload(Table2.entity2)]
然后我这样做:
query = select(model).filter(model.id == item_id).options(select_options[0])
result = await async_session.execute(query)
效果很好,我得到了正确的响应。但我希望能够继续将选项附加到该语句。我尝试了这个作为示例,并认为如果这有效,那么我可以循环遍历 select_options 并添加每个选项:
query = select(model)
query.filter(model.id == item_id)
query.options(select_options[0])
我没有收到任何错误,但响应忽略了选项。我如何才能继续添加 .options().options() 等?
谢谢
这应该可行,
filter
并options
返回一个新的select
。当你获得很多东西时,可以更容易地分别构建它们并在最后构建选择。