Flask 反向查询

Posted 罗万

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

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

以上是关于Flask 反向查询的主要内容,如果未能解决你的问题,请参考以下文章

python flask(多对多表查询)

Flask 编写http接口api及接口自动化测试

python Flask - 数据库片段

如何使用片段反向移植?

小白学flask之路由,反向路由,路由参数

片段行为:FragmentTransaction::replace() 和反向 backStack 操作