
#请教一个 Flask-sqlalchemy 一对多查询的问题 我最近在自学 Flask,定的目标就是做一个 Blog,但是在导航菜单和导航菜单分类查询的时候遇到了问题,所以来请教一下各位
我的数据库表模型是:
菜单表
class Menus(db.Model): __tablename__ = 'menus' id = db.Column(db.Integer, primary_key=True) menucategory = db.relatinship('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 年 5 月 9 日 via Android |
4 welkinzh 2017 年 5 月 9 日 via Android |
5 welkinzh 2017 年 5 月 9 日 via Android 那个 all() 写错了 应该是 filter()... |
6 node 2017 年 5 月 9 日 Category.query.options(db.Load(Category).joinedload('menus')).all() |