我试图比较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 :(得分:0)
问题是在上面的代码之前,从request.form语句中检索x。因此(我猜)它不被视为整数。因此,解决方案是使用int(x)包装x,现在代码正在运行。