Flask 反向查询

父表:被引用方的表
子表:引用父表的表(表中有父表的字段,一般是父表id,并且定义relationship)
正向查询:在子表中,查询父表的信息
反向查询:通过父表,查询子表的信息

定义父表

class User(db.Model):
    __tablename__ = 'tb_User'
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    username = db.Column(db.String(20),nullable=False)

定义子表

class Child(db.Model):
    __tablename__ = 'tb_child'
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    name = db.Column(db.String(30),nullable=False)
    child_id = db.Column(db.Integer,db.ForeignKey('tb_child.id'))
    child = db.relationship('Journ',backref=db.backref('child'))
	#通过父表查询子表 user.child 即可拿到user对应的子表信息 格式为列表

获取效果如下:

def get(self):
	child = Child.query.filter_by(id=1)
	print('姓名',child.name)
	print('父表项',child.child.username)
	
	反向为
	user = User.query.filter_by(id=1)
	print('username',user.username)
	print('对应子表信息(列表格式)',user.child)

反向查询 通过user.child获取对应子表的信息

posted @ 2021-06-04 19:45  罗万  阅读(160)  评论(0)    收藏  举报