sql >> Base de Datos >  >> RDS >> PostgreSQL

Únase a un CTE en SQLAlchemy

El segundo argumento de Query.join() en este caso debería ser el ON completo cláusula, pero en su lugar pasa 3 argumentos a join() . Utilice and_() para combinar los predicados, como se hace en el SQL sin procesar:

already_in_db_query = db.session.query(MyModel)\
    .join(cte,
          and_(cte.c.field1 == MyModel.field1,
               cte.c.field2 == MyModel.field2),
    ).all()