我有两个表的数据库:
class Meals(db.Model):
__tablename__ = 'meals'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String, unique=True)
price = db.Column(db.Float)
description = db.Column(db.String, unique=True)
picture = db.Column(db.String, unique=True)
category = db.relationship("Category")
category_id = db.Column(db.Integer, db.ForeignKey('categories.id'))
class Category(db.Model):
__tablename__ = 'categories'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String, unique=True)
meals = db.relationship("Meals", back_populates='category')
我想获得包含膳食的查询。title和Category.title
例如:餐表
Burger_Grand_Canyon 1
Fresh_roll_with_chicken 1
Pizza_Margarita_classic 2
类别表
Burgers 1
Pizzas 2
结果Burger_Grand_Canyon Burgers
Fresh_roll_with_chicken Burgers
Pizza_Margarita_classic Pizzas
我试着这样做:
dishes = db.session.query(Meals).join(Category).all()
print(dishes)
for dish in dishes:
print(dish.title)
我该如何解决这个问题?
查询结果应该为您提供分配给dishes
变量的Dish
记录列表。Dish
的每个实例应该能够通过dish.category
字段引用其链接的Category
实例。
换句话说,它应该是这样的:
dishes = db.session.query(Meals).join(Category).all()
for dish in dishes:
print(dish.title, dish.category.title)