construir filtros dinâmicos no sqlalchemy python
Eu preciso gerar / criar consulta sqlalchemy dinamicamente usando colunas dinâmicas e seus valores.
Exemplo - Eu tenho uma tabela no SQL chamada "Convo" e tem colunas como - UserID, ConvoID, ContactID.
Preciso obter linhas com base nos critérios abaixo.
criteria = (('UserID', 2), ('ConvoID', 1) ,('ContactID', 353))
Eu usei a lógica "consulta assada" para isso. Mas alguns como eu não sou capaz de executar esta consulta com sucesso.
Abaixo está o meu código.
criteria = (('UserID', 2), ('ConvoID', 1) ,('ContactID', 353))
baked_query = bakery(lambda session: session.query(tablename))
for key1 in condition:
baked_query += lambda q: q.filter(tablename.key1 == condition[key1])
result = baked_query(self.session).all()
Estou recebendo erro como -
AttributeError: type object 'Convo' has no attribute 'key1'
Por favor me ajude com isso