我想使用column_property在一列中获取包含街道和门牌号码的完整地址。问题是我想要组合两个不同类型的列。门牌号是Integer类型,street是nummber字符串,这就是我得到以下错误的原因:
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) operator
does not exist: text + integer
LINE 1: SELECT (address.road || ' ') + address.housenumber AS anon...
如果我将housenumber转换为String列,那么它的确有效,但我认为这不是一个干净的方法。
有没有办法在将housenumber与string_property类型的列组合时将housenumber转换为字符串?
这是我的代码:
class Address(CommonColumns):
__tablename__ = 'address'
street = db.Column(db.String(80), nullable=False)
housenumber = db.Column(db.Integer, nullable=False)
fulladdress = db.column_property(street + " " + housenumber)
答案 0 :(得分:3)
您需要执行cast
:
fulladdress = db.column_property(street + " " + db.cast(housenumber, db.String))