Flask-SQLAlchemy拓展
使用Flask-SQLAichemy可以处理Python对象,而不是数据实体
安装方法:
- 通过PyCharm的project interpret 继续安装
- 通过命令行进行安装
在Flask-SQLAlchemy中,数据库使用URL进行指定,MySQL的URL格式为:
例如 mysql://root:password@127.0.0.1:3306/demoDatabse
安装pymysql
pip install pymysql
配置数据库:
创建数据库类,映射数据库表
注意,其中的类型的第一个字母要大写
在视图中操作数据库查询
通过数据库类的query对象中的方法进行查询
常用的SQLAlchemy查询过滤器
过滤器 | 说明 |
filter() | 把过滤器添加到原查询上,返回一个新查询 |
filter_by() | 把等值过滤器添加到原查询上,返回一个新查询 |
limit() | 使用指定的值限制原查询返回的结果数量,返回一个新查询 |
offset() | 偏移原查询返回的结果,返回一个新查询 |
order_by() | 根据指定条件对原查询进行排序,返回一个新查询 |
group_by() | 根据指定调教对原查询结果进行分组,返回一个新查询 |
常用SQLAlchemy查询执行方法
方法 | 说明 |
all() | 以列表形式返回查询的所有结果 |
first() | 返回查询的第一个结果,如果没有结果,则返回None |
first_or_404() | 返回查询的第一个结果,如果没有结果,则终止请求,返回4040错误响应 |
get() | 返回指定主键对应的行,如果没有对应的行,则返回NOne |
get_or_404 | 返回指定主键对应的行,如果没找到指定的主键,则终止请求,返回404错误响应 |
count() | 返回查询结果的数量 |
paginate() | 返回一个Paginate对象,包含指定范围内的结果 |