Estou tentando construir uma consulta dinâmica no Async Sqlalchemy 2.0. As opções vêm como uma lista como:
select_options=[selectinload(Table.entitity1).selectinload(Table2.entity2)]
E então eu faço isso:
query = select(model).filter(model.id == item_id).options(select_options[0])
result = await async_session.execute(query)
Isso funciona muito bem e recebo a resposta correta. Mas quero poder continuar acrescentando opções a essa declaração. Tentei isso como exemplo e imaginei que, se funcionasse, eu poderia simplesmente percorrer select_options e adicionar cada um:
query = select(model)
query.filter(model.id == item_id)
query.options(select_options[0])
Não recebi nenhum erro, mas a resposta ignorou as opções. Como posso continuar adicionando .options().options(), etc.?
Obrigado
Isso deve funcionar
filter
eoptions
retornar um novo arquivoselect
.Quando você obtém muitas coisas, pode ser mais fácil construí-las separadamente e construir a seleção no final.