好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

pythonflask多对多表查询的实例详解

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

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 
data=Classifa.query.filter_by(name='数据库').first()
 data_post=data.posts 

这里呢,我直接先从分类找到这个分类,然后通过第三表来查询属于这个分类的文章、其实呢 这里很简单,可能是我当时自己的脑子短路了吧, 不知道怎么想是对的,现在来看 其实还是那么的简单,只是当时我忽略了什么。 加油,学习前进的路上。

以上就是python flask 多对多表查询的实例详解的详细内容,更多请关注Gxl网其它相关文章!

查看更多关于pythonflask多对多表查询的实例详解的详细内容...

  阅读:49次