云资讯产品介绍
Flask 进阶
前情提要:
-
钩子函数
- 第一次请求前执行 before_first_request
- 每次请求前执行 before_request
- 异常钩子函数 errorhandler
- 请求后,响应前执行 teardown_request
-
orm
-
对象关系映射
-
优点与缺点 优点: 不用原生的sql语句,提高开发效率。易于管理。缺点 有一定的性能损失。
-
-
orm 继承类
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
继承 db.Model
-
定义类
class IndexModel(db.Model):
__tablename__= “自定义的表名”
一定要指定主键 -
orm 的增删改查
查:
查所有 IndexModel.query.all()
查一个 IndexModel.query.first()
精确搜索 IndexModel.query.filter(IndexModel.name==“xxx”).all()
模糊搜索 IndexModel.query.filter(IndexModel.name.like("%{}%".format(name))).all()
IndexModel.query.filter(IndexModel.name.contains(name))).all()
分页 IndexModel.query.filter().limit().offset().all()
limit 页大小
offset 偏移量 (当前页-1) * 页大小
获取总页数
math.ceil(数据的总条数 / 每页显示的数目)
排序 升序 asc() 降序 desc()
IndexModel.query.filter().order_by(IndexModel.字段.desc()).all()
一对多
db.relationship(“类名”,backref=“定义的名字”)
通过外键 user_obj = User.query.filter().first()
user_obj .定义的名字. 关联类的属性
添加一条数据
user_obj = UserModel(name=“xxx”)
db.session.add(user_obj)
db.session.commit()
添加多条数据
user1 = UserModel(name=“xxx1”)
user2 = UserModel(name=“xxx2”)
user3 = UserModel(name=“xxx3”)
db.session.add_all([user1,user2,user3,user4])
db.session.commit()
编辑 1
user_obj = User.query.filter().first()
user_obj .name = “cccc”
db.session.add(user_obj)
db.session.commit()
编辑 2
受影响的行数
flag = User.query.filter().update({“name”:“ccc”})
db.sesson.commit()
删除
受影响的行数
flag = User.query.filter().delete()
-
数据迁移
# manage.py from flask_script improt Manager from flask_migrate import Migrate,MigrateCommand from main import app from models import db # 实例化 manager = Manager(app) migrate = Migrate(app,db) # 添加命令 manager.add_command("db",MigrateCommand) # 运行 if __name__ == '__main__': manager.run()# 生成 migrations 目录 python manage.py db init # 生成迁移文件 python manage.py db migrate # 写库 python manage.py db upgrade -
flask_restful
-
自定义类
from flask_restful import Resource class IndexView(Resource): pass -
参数怎么用
from flask_restful import Resource, reqparse c
-

本文详细介绍了Flask的ORM使用,包括钩子函数、对象关系映射的优缺点和使用方法,以及数据的增删改查操作。此外,还提及了云资讯产品的技术架构,涵盖前端、后端、数据统计与分析等多个方面。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



