Gewoon casten naar een string:
db.session.query(Vehicle).filter(str(Car.id) == Vehicle.value)
if Car.id
is een lokale variabele die een int is.
Als je dit in een join moet gebruiken, laat de database het dan casten naar een string:
from sqlalchemy.sql.expression import cast
db.session.query(Vehicle).filter(cast(Car.id, sqlalchemy.String) == Vehicle.value)
Als de tekenreekswaarde in de andere kolom cijfers bevat en mogelijk witruimte je moet misschien overwegen om te trimmen, of in plaats daarvan de tekenreekswaarde naar een geheel getal te casten (en de kolom integer een geheel getal te laten).