PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Nehmen Sie an einem CTE in SQLAlchemy teil

Das zweite Argument für Query.join() sollte in diesem Fall das volle ON sein -Klausel, aber stattdessen übergeben Sie 3 Argumente an join() . Verwenden Sie and_() um die Prädikate zu kombinieren, wie es im Roh-SQL gemacht wird:

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