2017-07-28 1 views
1

column_propertyを使用して、1つの列にストリートとハウスの番号を含む完全なアドレスを取得したい。問題は、異なるタイプの2つの列を結合したいということです。ハウス番号はInteger型のものであり、通りは、私は、エラーを以下の取得理由ですnummber文字列は次のとおりです。整数列を含むsqlalchemyのcolumn_propertyを使用する

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

私は文字列にhousenumber向けるが、それは私が推測するきれいな方法ではないでしょう場合まあ、それは動作します。

column_propertyにstring型の列を組み合わせるときに、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) 

答えて

3

あなたはcastを実行する必要があります。

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

パーフェクト、私のために働きました。ありがとう!私の場合、コードニットは次のようになりました:fulladdress = db.column_property(street + "" + db.cast(housenumber、db.String)) – mbijou

関連する問題