尝试使用SQLAlchemy查询和比较来自不同表的两列

时间:2014-09-10 09:11:48

标签: python 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")

1 个答案:

答案 0 :(得分:0)

问题是在上面的代码之前,从request.form语句中检索x。因此(我猜)它不被视为整数。因此,解决方案是使用int(x)包装x,现在代码正在运行。