python flask 多对多表查询的实例详解


本文摘自php中文网,作者零下一度,侵删。

我们在flask的学习中,会难免遇到多对多表的查询,今天我也遇到了这个问题。下面把我的思路分享到脚本之家平台,供大家参考

我们在flask的学习中,会难免遇到多对多表的查询,今天我也遇到了这个问题。那么我想了好久。也没有想到一个解决的办法,试了几种方法,可能是思路的限制我放弃了,后来,我就在网上百度,可是发现百度出来的结果和自己想要的还有一定的差距,那么我根据百度上得来的思路,那么我也对我的数据结构进行了探索, 下面来看看我这里怎么来查询的,首先给大家看下我写的数据库的代码的片段,这样,加深理解。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

post_class=db.Table('post_class',

  db.Column('post_id',db.Integer(),db.ForeignKey('posts.id')),

  db.Column('classifa_id',db.Integer(),db.ForeignKey('fenlei.id')))

class Post(db.Model):#文章表

  tablename='posts'

  id=db.Column(db.Integer,primary_key=True,autoincrement=True)

  title=db.Column(db.String(255),unique=True)

  text=db.Column(db.Text())

  publish_date=db.Column(db.DateTime,default=datetime.datetime.now())

  user_id=db.Column(db.Integer,db.ForeignKey('users.id'))

  is_recomment=db.Column(db.Boolean,default=False)

  comments = db.relationship(

    'Comment',

    backref='posts',

    lazy='dynamic')

  tag = db.relationship(

    'Tag',

    secondary=posts_tags,

    backref=db.backref('posts', lazy='dynamic')

  )

  classname=db.relationship('Classifa',

    secondary=post_class,

    backref=db.backref('posts'))

  def repr(self):

    return "<Model Post `{}`>".format(self.title)

class Classifa(db.Model):#分类

  tablename='fenlei'

  id=db.Column(db.Integer(),primary_key=True)

  name=db.Column(db.String(64))

  def repr(self):

    return self.name

这里有三张表,一张呢是文章的列表,另一张呢,是分类表,我们来想下,一篇文章可能同时属于多个分类,那么一个分类可能也属于多个文章,这么来说想必我们大家都能理解这个逻辑,那么呢,我第三表来显示多对多关系的,那么我们接下来怎么去查询呢,其实我现在的需求就是我要找个一个分类下面所有的文章吧,

阅读剩余部分

相关阅读 >>

termux怎么安装Python

Python行结构与缩进的简单介绍

win10如何配置Python环境变量

Python怎么读音

基于rabbitmq rpc实现的主机管理

Python怎么区分不同数据类型

Python中关于字典dict的使用详解

解析Python利用pickle模块完成增删改查等一些功能

Python打印星号金字塔的方法

Python如何给series排序

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...