![flaskorm介绍与项目实战学习_第1页](http://file4.renrendoc.com/view/93690bdedaa85b75124f490399145d21/93690bdedaa85b75124f490399145d211.gif)
![flaskorm介绍与项目实战学习_第2页](http://file4.renrendoc.com/view/93690bdedaa85b75124f490399145d21/93690bdedaa85b75124f490399145d212.gif)
![flaskorm介绍与项目实战学习_第3页](http://file4.renrendoc.com/view/93690bdedaa85b75124f490399145d21/93690bdedaa85b75124f490399145d213.gif)
![flaskorm介绍与项目实战学习_第4页](http://file4.renrendoc.com/view/93690bdedaa85b75124f490399145d21/93690bdedaa85b75124f490399145d214.gif)
![flaskorm介绍与项目实战学习_第5页](http://file4.renrendoc.com/view/93690bdedaa85b75124f490399145d21/93690bdedaa85b75124f490399145d215.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程介绍flask-sqlalchemy介绍及安装设计数据库模型并创建表使用ORM
,修改,删除数据使用ORM查询数据并展示实战:
管理系统模型设计flask-sqlalchemy介绍flask-sqlalchemy介绍及安装安装PIP安装:pip
install
Flask-SQLAlchemy源码安装:python
setup.py
install文档SQLAlchemyFlask-SQLAlchemyflask-sqlalchemy配置数据库URISQLALCHEMY_DATABASE_URIURI参数格式Postgres:postgresql://scott:tiger@localhost/mydatabaseMySQL:mysql://scott:tiger@localhost/mydatabaseflask-sqlalchemy配置URI参数格式Oracle:oracle://scott:tiger@:1521/sidname::////absolute/path/to/foo.dbflask-sqlalchemy配置多个数据库支持SQLALCHEMY_BINDS
=
{'db1':'db2':
''mysqldb://localhost/users',:////path/to/appmeta.db'}设计数据库模型并创建表数据库模型设计绑定到Flask对象db
=SQLAlchemy(app)ORM模型创建class
User(db.Model):id
=
db.Column(db.Integer,
primary_key=True)指定表的名称
tablename
=
'mall_product'创建和删除表手动创建数据库创建表>>>
db.create_all(bind=‘db1’)删除表>>>
db.drop_all()数据库模型设计ORM模型字段类型支持类型描述Integer/Float整数/浮点类型String
(size)有长度限制的字符串Text一些较长的文本(如:通知详
品详情)DateTime表示为Python
datetime
对象的时间和日期Boolean布尔值PickleType为一个持久化的Python
对象LargeBinary一个任意大的二进制数据数据库模型设计一对多关系,外键关联addresses
=
db.relationship('UserAddress',backref='
',
lazy=True)多对多关联tags
=
db.Table('mall_product_tags',db.Column('tag_id',
db.Integer,
db.ForeignKey('tag.id')),db.Column('product_id',
db.Integer,db.ForeignKey('product.id')))使用ORM,修改,删除数据新增/修改数据构造ORM模型对象user
=
User('admin',
'添加到db.session(备注:可添加多个对象)db.session.add(user)提交到数据库mit()')物理删除数据查询ORM模型对象user=User.query.filter_by(username='zhangsan').
()添加到db.sessiondb.session.delete(user)提交到数据库mit()使用ORM查询数据并展示ORM查询返回结果集(list)查询所有数据User.query.all()按条件查询User.query.filter_by(username='zhangsan')User.query.filter(User.nicknae.endswith('三')).all()ORM查询返回结果集(list)排序User.query.order_by(User.username)查询TOP10User.query.limit(10).all()ORM查询返回单个ORM对象根据pk查询User.query.get(1)获取第一条记录User.query.
()ORM查询视图快捷函数:
有则返回,无则返回404()
vs
_or_404()get()
vs
get_or_404()多表关联查询db.session.query(User).join(Address)User.query.join(Address)分页方式一:使用offset和limit.offset(offset).limit(limit)方式二:paginate分页支持.paginate(page=2,
per_page=4)返回Pagination的对象Pagination对象has_prev/has_next——是否有上一页/下一页items——当前页的数据列表prev_num/next_num——上一页/下一页的页码total——
录数pages——总页数结合模板实现分页第一步:准备数据list_user
=
User.query.filter_by(is_valid=1)第二步:分页list_user.paginate(page=2,
per_page=4)第三步:在模板
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 晋教版地理七年级下册9.3《撒哈拉以南的非洲──黑种人的故乡》听课评课记录
- 新版华东师大版八年级数学下册《16.1.2分式的基本性质约分》听评课记录4
- 北师大版历史九年级下册第13课《新兴力量的崛起》听课评课记录
- 人教版数学七年级上册2.1《去括号》听评课记录
- 人教部编版九年级历史下册听课评课记录:第13课《罗斯福新政》
- 人教版数学九年级上册24.2《直线和圆的位置关系(1)》听评课记录
- 人教版数学八年级上册《完全平方公式》听评课记录6
- 小学二年级上册除法口算
- 九年级第一学期班主任总结
- 五年级下册口算题
- JB∕T 7946.4-2017 铸造铝合金金相 第4部分:铸造铝铜合金晶粒度
- 小学三年级奥数入学测试题
- 我国大型成套设备出口现状、发展前景及政策支持研究
- GB/T 44093-2024排球课程学生运动能力测评规范
- 2024届广东省普通高中学业水平合格性考试数学模拟卷4
- 河南省郑州市2023-2024学年高一下学期6月期末数学试题(无答案)
- 临床诊疗指南-耳鼻咽喉头颈外科分册
- 全套电子课件:极限配合与技术测量(第五版)
- 七年级数学垂线1
- 2024年最新全国交管12123驾驶证学法减分(学法免分)考试题库附答案
- JTG C10-2007 公路勘测规范
评论
0/150
提交评论