0%

SQLAlchemy常用操作

SQLAlchemy 是 Python 的 ORM 框架, 这里记录下开发过程中常用的操作。

一次插入多条数据

将数据放入列表中,通过execute执行插入操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
datas = []
for cell in range(7):
datas.append({
'class_id': wxcid,
'course_index': maxIndex + 1,
'week_index': cell + 1,
'course_type': 0,
'name': '',
't_name': '',
'user_id': user_id,
'dataType': dataType,
},)
db.engine.execute(WxCourse.__table__.insert(),datas)
db.session.commit()

获取指定列表的最大数据

最后得到的是个数据元组,通过下标取下

1
maxIndex = WxCourse.query.filter_by(class_id=wxcid,dataType=dataType).with_entities(db.func.max(WxCourse.course_index)).first()[0]

数据分页查询

通过页面序号获取切片数据组

1
2
3
pageNum = int(pageNum)
classNoticekData = WxNotice.query.filter(db.and_(WxNotice.class_id == wxcid)).order_by(db.desc(WxNotice.add_time)).slice((pageNum - 1) * 20, pageNum * 20).all()