父表:被引用方的表
子表:引用父表的表(表中有父表的字段,一般是父表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)
反向查询 通过获取对应子表的信息