概述
首先要把实体类写在models.py中:
# 图书表
class Book(db.Model):
# 对应数据库中的表名
__tablename__ = 's_book'
# 对应数据表中的字段名
id = db.Column(db.Integer, primary_key=True, unique=True)
title = db.Column(db.String(32))
author = db.Column(db.String(20))
thumb = db.Column(db.String(30))
classify = db.Column(db.String(20))
up_date = db.Column(db.Date)
intro = db.Column(db.String(100))
price = db.Column(db.String(8))
status = db.Column(db.String(8))
# 外键与另外一张表中的某字段关联
owner_id = db.Column(db.Integer,db.ForeignKey('s_user.id'), nullable=True)
# 与Change类中的外键建立起来的关联,在Change里可使用book_title
changes = db.relationship('Change', backref='book_title', lazy='dynamic')
def __init__(self, name):
self.title = name
# 通过Change表中的外键可以获得到下面函数中的title值
def __repr__(self):
return '%s' % self.title.encode('UTF-8')
#借阅表
class Change(db.Model):
__tablename__ = 's_book_lend'
id = db.Column(db.Integer, primary_key=True, unique=True)
book_id = db.Column(db.Integer, db.ForeignKey('s_book.id'), nullable=True)
startdate = db.Column(db.Date)
limit = db.Column(db.Integer)
enddate = db.Column(db.Date)
address = db.Column(db.String(100))
lend_uid = db.Column(db.Integer,db.ForeignKey('s_user.id'), nullable=True)
def __init__(self, limit):
self.limit = limit
def __repr__(self):
return '%s' % self.change_id
然后在views.py 中查询相应的信息:
# 单表条件查询的例子
leaves = Leave.query.filter(Leave.user_id==user_id).order_by(Leave.time.desc()).all()
# 多表联查的例子
lends = db.session.query(Book, Change, User)
.join(Change, and_(Book.id == Change.book_id))
.join(User, and_(Change.lend_uid == User.id, User.id == user_id))
大致的查询写法就像上面的那个样子,之后宝宝会分享python的学习笔记系列,在里面会有比较详细的使用方法。
最后
以上就是怕孤独盼望为你收集整理的Flask中数据库查询数据的简要概括的全部内容,希望文章能够帮你解决Flask中数据库查询数据的简要概括所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复