PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Rejoindre un CTE dans SQLAlchemy

Le deuxième argument de Query.join() devrait dans ce cas être le ON complet clause, mais à la place vous passez 3 arguments à join() . Utilisez and_() pour combiner les prédicats, comme cela se fait dans le SQL brut :

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