【发布时间】:2014-05-26 09:28:28
【问题描述】:
我正在尝试做一个像这样的简单连接查询,
SELECT food._id, food.food_name, food_categories.food_categories FROM food JOIN food_categories ON food.food_category_id = food_categories._id
但不断收到错误消息。这是我的课程的设置方式。
class Food_Categories(db.Model):
__tablename__ = 'food_categories'
_id = db.Column(db.Integer, primary_key=True)
food_categories = db.Column(db.String(30))
class Food(db.Model):
__tablename__ = 'food'
_id = db.Column(db.Integer, primary_key=True)
food_name = db.Column(db.String(40))
food_category_id = db.Column(db.Integer, ForeignKey(Food_Categories._id))
food_category = relationship("Food_Categories")
我的查询函数如下所示。
@app.route('/foodlist')
def foodlist():
if request.method == 'GET':
results = Food.query.join(Food_Categories.food_categories).all()
json_results = []
for result in results:
d = {'_id': result._id,
'food': result.food_name,
'food_category': result.food_categories}
json_results.append(d)
return jsonify(user=json_results)
我正在使用 Flask。当我调用路由时,我得到了这个错误。
AttributeError: 'ColumnProperty' object has no attribute 'mapper'
我基本上想要这个:
| id | food_name | food_category |
并将 food_category_id 列替换为位于其他表中的食品类别的实际名称。
我的表/关系设置是否正确?我的查询设置是否正确?
【问题讨论】:
标签: python sqlalchemy flask flask-sqlalchemy