flask:
Models: 1.数据交互的封装
2.flask并没有提供默认ORM,对象关系映射
flask-sqlalchemy
pip install flask-sqlalchemy
初始化:
App.config SQLALCHEMY_DATDABASE_URI
消除警告 SQLALCHEMY_TRACK_MODIFICATIONS = Flase
db =SQLAlchemy()
db.init_app(app)
使用:
定义模型 继承SQLAlchemy中的Model
定义字段 db.Column(db.类型)
创建:
表单创建:
db.create_all()
删除表单
db.drop_all()
数据操作:
添加:db.session.add(数据模型对象)、db.session.commit()
查询:获取结果集:db.query.filter()/db.session.all()/
获取单个数据:db.session.get(主键)、db.session.first()
数据筛选:order_by、limit、offset和limit部分顺序,因为offset优先操作。
更新:先查询到再更新 db.session.add() db.session.commit()
删除:db.session.delete() db.session.commit()
数据定义:
字段类型:Integer String Text Date Boolean
约束:主键约束 primary_key
自增长 autoincrement
unique
default
index
nullable
ForeignKey
项目拆分:
程序入口:manage.py(falsk-script)可以接收命令行参数
App:__init__.py 初始化:创建flask对象 系统的配置内容。初始化。
views.py 蓝图 路由/视图函数
models.py 模型
settings.py flask对象的一些环境配置。
ext.py db
migrate
session