PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

sqlalchemy postgresql dove int =stringa

Trasmetti semplicemente su una stringa:

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

se Car.id è una variabile locale che è un int.

Se è necessario utilizzarlo in un join, fare in modo che il database lo trasmetta a una stringa:

from sqlalchemy.sql.expression import cast

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

Se il valore della stringa nell'altra colonna contiene cifre ed eventualmente spazi bianchi potresti dover considerare il taglio o invece eseguire il cast del valore della stringa su un numero intero (e lasciare la colonna intera un numero intero).