2014-09-10 22 views
0
比較兩個不同表中的列

我想兩個值從兩個不同的表中的過濾器查詢在SQLAlchemy的比較:試圖查詢與和SQLAlchemy的

response = db.session.query(Building, BuildingTypes)\ 
    .join(BuildingTypes)\ 
    .filter(x <= (Building.x+(BuildingTypes.width/2)))\ 
    .first() 

我的問題是,我似乎總是得到一個迴應,即使這會導致無。難道我做錯了什麼?

下面是類定義:

class BuildingTypes(db.Model): 
    __tablename__ = 'buildingTypes' 
    id = db.Column(db.Integer, primary_key=True) 
    width = db.Column(db.Integer) 
    height = db.Column(db.Integer) 
    title = db.Column(db.Text) 

class Building(db.Model): 
    __tablename__ = 'buildings' 
    id = db.Column(db.Integer, primary_key=True) 
    x = db.Column(db.Integer) 
    y = db.Column(db.Integer) 
    typeID = db.Column(db.Integer, db.ForeignKey('buildingTypes.id')) 
    buildingTypes = db.relationship("BuildingTypes") 

回答

0

的問題是,上面的代碼之前,x爲一個的request.form語句檢索。正因爲如此(我猜)它並不像一個整數。因此解決方案是用int(x)包裝x,現在代碼正在工作。