首页 > 其他 > 详细

Flask笔记(一):query方法

时间:2020-02-25 18:35:19      阅读:562      评论:0      收藏:0      [点我收藏+]

 一,预先定义内容

#关联表
followers = db.Table(‘followers‘, db.Column(‘follower_id‘, db.Integer, db.ForeignKey(‘user.id‘)), db.Column(‘followed_id‘, db.Integer, db.ForeignKey(‘user.id‘)) )
Post.query.join(...).filter(...).order_by(...)

二,模型图示

用户表User

idusername
1 john
2 susan
3 mary
4 david

关系表followers(当john关注susan和david时)

follower_idfollowed_id
1 2
1 4
2 3
3 4

 帖子表Post

idtextuser_id
1 post from susan 2
2 post from mary 3
3 post from david 4
4 post from john 1

三,join方法

#join将创建一个临时表根据参数条件组合posts和followers表的数据
#条件为被关注者的id==帖子的id,即按照被关注这的帖子ID进行对应连接
Post.query.join(followers, (followers.c.followed_id == Post.user_id))

join连接结果如下

idtextuser_idfollower_idfollowed_id
1 post from susan 2 1 2
2 post from mary 3 2 3
3 post from david 4 1 4
3 post from david 4 3 4

四,Filter方法

#注意方法定义在用户表里,所以self表示当前用户实例
filter(followers.c.follower_id == self.id)

 

Flask笔记(一):query方法

原文:https://www.cnblogs.com/shitianfang/p/12362525.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!