#请教一个 Flask-sqlalchemy 一对多查询的问题 我最近在自学 Flask,定的目标就是做一个 Blog,但是在导航菜单和导航菜单分类查询的时候遇到了问题,所以来请教一下各位
我的数据库表模型是:
菜单表
class Menus(db.Model):
__tablename__ = 'menus'
id = db.Column(db.Integer, primary_key=True)
menucategory = db.relationship('Category',backref='menus',lazy='dynamic')
menuName = db.Column(db.String(24), unique=True, index=True, nullable=False)
orderNo = db.Column(db.Integer)
visible = db.Column(db.Boolean, default=False)
菜单分类表
class Category(db.Model):
__tablename__ = 'category'
id = db.Column(db.Integer,primary_key=True)
menuid = db.Column(db.Integer,db.ForeignKey('menus.id'))
categoryName = db.Column(db.String(32),unique=True,index=True)
orderNo = db.Column(db.Integer)
visibled = db.Column(db.Boolean,default=False)
我想查询 菜单分类表 但是要把他的外键 menus.id 查询出来, 直接 Sql 语句能实现
SELECT c.id,c.categoryName,c.orderNo,c.visibled,m.menuName FROM Menus m,Category c WHERE c.menuid=m.id
但是用#Flask-sqlalchemy 我查不到数据
categories = Category.query.join(Menus,Category.menuid == Menus.id).add_columns(Category.id,Menus.menuName,Category.orderNo,Category.visibled).filter(Category.menuid == Menus.id)
1
coolair 2017-05-09 01:51:06 +08:00 via Android
|
4
welkinzh 2017-05-09 08:20:47 +08:00 via Android
|
5
welkinzh 2017-05-09 08:22:27 +08:00 via Android
那个 all() 写错了 应该是 filter()...
|
6
node 2017-05-09 09:15:37 +08:00
Category.query.options(db.Load(Category).joinedload('menus')).all()
|