![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Flask框架(3)——Flask数据库
ORM模式操作数据库
whyfail
编程界崇尚以简洁优雅为美,很多时候,如果你觉得一个概念很复杂,那么很可能是你理解错了!
展开
-
Flask之Flask-Migrate
Flask-Migrateflask-migrate是基于Alembic进行的一个封装,并集成到Flask中,所有的迁移操作其实都是Alembic做的,能跟踪模型的变化,并将变化映射到数据库中。Flask-Migrate安装pip install flask-migrateFlask-Migrate使用manage.py文件中的代码:from flask_script impo...原创 2020-01-29 22:44:42 · 3898 阅读 · 0 评论 -
Flask之Script
Flask-ScriptFlask-Script的作用是可以通过命令行的形式来操作Flask。例如通过命令跑一个开发版本的服务器、设置数据库,定时任务等。Flask-Script安装pip install flask-scriptFlask-Script基本使用1. 例如:在flask项目中,建一个manage.py文件,代码如下:from flask_script im...原创 2020-01-29 22:37:55 · 107 阅读 · 0 评论 -
Flask-SQLAlchemy之alembic
Flask-SQLAlchemy和alembic结合使用1.配置好数据库连接文件 如config.pyHOSTNAME = '127.0.0.1'PORT = '3306'DATABASE = 'fs_alembic_demo'USERNAME = 'root'PASSWORD = 'root'DB_URI ="mysql+pymysql://{username}:{passwo...原创 2020-01-29 22:30:43 · 196 阅读 · 0 评论 -
Flask-SQLAlchemy之简介
Flask-SQLAlchemyFlask-SQLAlchemy的使用_对SQLAlchemy进行了封装和优化Flask-SQLAlchemy是一个插件,Flask-SQLAlchemy是对SQLAlchemy进行了一个简单的封装的一个插件,使得我们在flask中使用sqlalchemy更加的简单。安装:pip install flask-sqlalchemyFlask...原创 2020-01-27 21:13:11 · 343 阅读 · 0 评论 -
SQLAlchemy之alembic
alembicalembic是sqlalchemy的作者开发的,用来做OMR模型与数据库的迁移与映射,alembic使用方式跟git有点了类似,alembic的所有命令都是以alembic开头,alembic的迁移文件也是通过版本进行控制的,alembic安装pip install alembicalembic使用1.使用sqlalchemy创建好模型类如创建一个m...原创 2020-01-29 22:08:44 · 1585 阅读 · 0 评论 -
SQLAlchemy之懒加载
懒加载在一对多,或者多对多关系的时候,如果想要获取多的一方这一部分的数据的时候,往往能通过一个属性就可以全部获取了。如有一个作者,想要这个作者的所有文章,通过user.articles就可以获取所有的。但有时候我们不想获取所有的数据,如只想获取这个作者今天发表的文章,那么这时候我们可以给relationship方法添加属性lazy='dynamic',以后通过user.articles获取...原创 2020-01-27 20:07:46 · 779 阅读 · 0 评论 -
SQLalchemy之排序
排序order_by方法排序:可以指定根据模型中某个属性进行排序,模型名.属性名.desc()代表的是降序排序。在定义模型的时候指定排序:有些时候,不想每次在查询的时候都用order_by方法,可以在定义模型的时候就指定排序的方式。有两种方式:在模型定义中,添加以下代码: __mapper_args__ = { "order_by": create_time #正序 ...原创 2020-01-27 19:34:20 · 914 阅读 · 0 评论 -
SQLAlchemy之查询
query查询函数query函数可传递的参数一共有3种:模型名。指定查找这个模型中所有的属性(对应查询表为全表查询)。模型中的属性。可以指定只查找某个模型的其中几个属性。聚合函数。func.count:统计行的数量。func.avg:求平均值。func.max:求最大值。func.min:求最小值。func.sum:求和。func上,其实没有任何聚合函数。但是因...原创 2020-01-21 22:29:59 · 605 阅读 · 0 评论 -
SQLALchemy之外键
表关系表之间的关系存在三种:一对一、一对多、多对多。而SQLAlchemy中的ORM也可以模拟这三种关系。一对一其实在SQLAlchemy中底层是通过一对多的方式模拟的。SQLAlchemy创建外键在从表中增加一个字段,指定这个字段外键的是哪个表的哪个字段就可以了。从表中外键的字段,必须和主表的主键字段类型保持一致。# 主表(user) / 从表(news) class Us...原创 2020-01-22 17:02:19 · 4673 阅读 · 0 评论 -
SQLAlchemy之Column常用参数
Column常用参数primary_key:True设置某个字段为主键。autoincrement:True设置这个字段为自动增长的。default:设置某个字段的默认值。在发表时间这些字段上面经常用。nullable:指定某个字段是否为空。默认值是True,就是可以为空。unique:指定某个字段的值是否唯一。默认是False。onupdate:在数据更新的时候会调用这个参数指定的...原创 2020-01-21 22:20:57 · 7473 阅读 · 0 评论 -
SQLAlchemy之常用数据类型
SQLAlchemy常用数据类型Integer:整形,映射到数据库中是int类型。Float:浮点类型,映射到数据库中是float类型。它占据的32位。Double:双精度浮点类型,映射到数据库中是double类型,占据64位 (SQLALCHEMY中没有)。String:可变字符类型,映射到数据库中是varchar类型.Boolean:布尔类型,映射到数据库中的是tinyint类型。...原创 2020-01-21 22:02:07 · 1093 阅读 · 0 评论 -
SQLAlchemy之数据的增删改查
SQLAlchemy对数据的增删改查操作用session做数据的增删改查操作:一、构建session对象:所有和数据库的ORM操作都必须通过一个叫做session的会话对象来实现.from sqlalchemy.orm import sessionmakerengine = create_engine(DB_URI)Base = declarative_base(engine)...原创 2020-01-21 21:37:50 · 650 阅读 · 0 评论 -
SQLAlchemy之模型映射
定义ORM模型并将其映射到数据库中用declarative_base根据engine创建一个ORM基类。from sqlalchemy.ext.declarative import declarative_baseengine = create_engine(DB_URI)Base = declarative_base(engine)用这个Base类作为基类来写自己的ORM类...原创 2020-01-21 21:23:02 · 568 阅读 · 0 评论 -
SQLAlchemy之简介
Flask中的数据库操作之前准备工作mysql:如果是在windows上,到官网下载。如果是ubuntu,通过命令sudo apt-get install mysql-server libmysqlclient-dev -yq进行下载安装。MySQLdb:MySQLdb是用Python来操作mysql的包,因此通过pip来安装,命令如下:pip install mysql-python。如果...原创 2020-01-21 13:37:27 · 408 阅读 · 0 评论