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

sqlalchemy postgresql où int =chaîne

Convertir simplement en chaîne :

db.session.query(Vehicle).filter(str(Car.id) == Vehicle.value)

si Car.id est une variable locale qui est un int.

Si vous avez besoin de l'utiliser dans une jointure, demandez à la base de données de le convertir en chaîne :

from sqlalchemy.sql.expression import cast

db.session.query(Vehicle).filter(cast(Car.id, sqlalchemy.String) == Vehicle.value)

Si la valeur de chaîne dans l'autre colonne contient des chiffres et éventuellement des espaces vous devrez peut-être envisager de couper ou de convertir la valeur de la chaîne en un entier (et de laisser la colonne d'entiers un entier).