Вторият аргумент на Query.join()
в този случай трябва да бъде пълното ON
клауза, но вместо това предавате 3 аргумента на join()
. Използвайте and_()
за комбиниране на предикатите, както се прави в необработения SQL:
already_in_db_query = db.session.query(MyModel)\
.join(cte,
and_(cte.c.field1 == MyModel.field1,
cte.c.field2 == MyModel.field2),
).all()