O segundo argumento para
Query.join()
deve neste caso ser o ON
completo cláusula, mas em vez disso você passa 3 argumentos para join()
. Use and_()
para combinar os predicados, como é feito no SQL bruto:already_in_db_query = db.session.query(MyModel)\
.join(cte,
and_(cte.c.field1 == MyModel.field1,
cte.c.field2 == MyModel.field2),
).all()