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

Lignes supprimées de la table reflétée avec SQLAlchemy

L'interface de requête fait partie de l'ORM SQLAlchemy et table n'est pas mappé à une classe.

La réponse à laquelle vous avez lié utilise des métadonnées liées (déconseillées dans SQLAlchemy moderne). Ce qui suit devrait fonctionner :

stmt = table.delete().where(table.c.column.in_([1,2,3,4,5]))

with engine.connect() as conn:
    conn.execute(stmt)

Modifier :

J'ai réalisé que vous pouviez faire ceci :

session.query(table).filter(table.c.column.in_([1,2,3,4,5])) \
    .delete(synchronize_session=False)