一棚放、分頁(yè)
page = int(request.args.get('page', 1))
# 方法一
stus = Students.query.offset((page - 1) * 2).limit(5)
# 切片
stu1 = Students.query.all()[(page - 1) * 2:page * 2]
# sql語(yǔ)句
sql = 'select * from students limit %s,%s ' % ((page - 1) * 2, page * 2)
stu2 = db.session.execute(sql)
# paginate()方法
paginates = Students.query.paginate(page, 4)
stu3 = paginates.items
return render_template('index.html', stus=stu3, paginates=paginates)
二、模型關(guān)系
1.一對(duì)多
學(xué)生類
class Students(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
s_name = db.Column(db.String(20), unique=False, nullable=False)
s_age = db.Column(db.Integer, default=19)
s_g = db.Column(db.Integer, db.ForeignKey('grade.id'), nullable=True)
__tablename__ = 'students'
班級(jí)類
class Grade(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
g_name = db.Column(db.String(30), unique=True, nullable=False)
students = db.relationship('Students', backref='grade')
__tablename__ = 'grade'
綁定學(xué)生和班級(jí)關(guān)聯(lián)關(guān)系
stus_id = [8, 9]
for id in stus_id:
stu = Students.query.get(id)
# 在flask中stu.s_g獲取的值為int類型
# 在django中灾杰,stu.s_g獲取的是對(duì)象蚊丐,stu.s_g_id獲取到的int類型
stu.s_g = 3
stu.save()
通過(guò)班級(jí)查找學(xué)生信息
grade = Grade.query.filter(Grade.g_name == '花兒一班').first()
stus = grade.students
通過(guò)學(xué)生查找班級(jí)信息
stu = Students.query.get(5)
# 獲取班級(jí),學(xué)生對(duì)象.backref
grade = stu.grade
2.多對(duì)多
學(xué)生類
class Students(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
s_name = db.Column(db.String(20), unique=False, nullable=False)
s_age = db.Column(db.Integer, default=19)
s_g = db.Column(db.Integer, db.ForeignKey('grade.id'), nullable=True)
__tablename__ = 'students'
課程類
class Course(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
g_name = db.Column(db.String(30), unique=True, nullable=False)
students = db.relationship('Students', secondary=s_c, backref='cou')
__tablename__ = 'course'
中間表
s_c = db.Table('s_c',
db.Column('s_id', db.Integer, db.ForeignKey('students.id'), primary_key=True),
db.Column('c_id', db.Integer, db.ForeignKey('course.id'), primary_key=True))
綁定學(xué)生與課程關(guān)聯(lián)關(guān)系
stu = Students.query.get(2)
# 學(xué)生對(duì)象查找課程信息艳吠,stu.cou
cou1 = Course.query.get(1)
cou2 = Course.query.get(2)
# 綁定學(xué)生科課程的關(guān)聯(lián)關(guān)系
stu.cou.append(cou1)
stu.cou.append(cou2)
stu.save()