【问题标题】:use column_property in sqlalchemy including integer column在 sqlalchemy 中使用 column_property,包括整数列
【发布时间】:2017-07-28 23:32:00
【问题描述】:

我想使用 column_property 获取完整地址,包括一列中的街道和门牌号。问题是我想组合两个不同类型的列。门牌号是整数类型,街道是数字字符串,这就是我收到以下错误的原因:

sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) operator     
does not exist: text + integer
LINE 1: SELECT (address.road || ' ') + address.housenumber AS anon...

如果我将 housenumber 转换为 String 列,它会起作用,但我猜这不是一个干净的方式。

在将门牌号与字符串类型的列组合成 column_property 时,有没有办法将门牌号转换为字符串?

这是我的代码:

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)

【问题讨论】:

    标签: python orm sqlalchemy flask-sqlalchemy


    【解决方案1】:

    你需要做一个cast:

    fulladdress = db.column_property(street + " " + db.cast(housenumber, db.String))
    

    【讨论】:

    • 完美,为我工作。谢谢!在我的情况下,coden-p 如下: fulladdress = db.column_property(street + " " + db.cast(housenumber, db.String))
    猜你喜欢
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 2019-07-13
    • 2015-01-31
    • 2015-12-27
    • 1970-01-01
    相关资源
    最近更新 更多