首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python Web 之 Flask-SQLAlchemy 框架

简单说,ORM是一个可以使我们更简单操作数据框架。 SQLAlchemy是什么?Flask-SQLAlchemy 又是什么?...Flask-SQLAlchemy是一个简化了 SQLAlchemy 框架Flask扩展,封装了对数据基本操作。该扩展既可结合Flask框架一起使用,也可以单独安装使用,非常灵活。...常用参数 参数 说明 primary_key 如果设为 True,列为主键 unique 如果设为 True,不允许出现重复值 index 如果设为 True,为创建索引,提升查询效率 nullable...如果设为 True,允许使用空值;如果设为 False不允许使用空值 default 为字段设置默认值 SQLAlchemy常用字段类型 类型 说明 Integer 整数 Float 浮点数...uselist 如果设为 Fales,不使用列表,而使用标量值 order_by 指定关系记录排序方式 secondary 指定多对多关系关系名字 secondaryjoin SQLAlchemy

2.8K40
您找到你想要的搜索结果了吗?
是的
没有找到

flask数据操纵

Flask ORM 在Django框架内部已经提供ORM这样框架,来实现对象关系映射,方便我们操作数据库。如果想在Flask也达到这样效果,需要安装一个第三方来支持。...SQLAlchemy是一个关系型数据库框架,它提供了高层ORM和底层原生数据操作。flask-sqlalchemy是一个简化了SQLAlchemy操作flask扩展。...如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 关系类型 选项 说明 backref 在关系另一模型添加反向引用...secondary join 在SQLAlchemy无法自行决定时,指定多对多关系二级联结 创建 在Flask-SQLAlchemy,插入、修改、删除操作,均由数据库会话管理。...在准备把数据写入数据库前,要先将数据添加到会话然后调用commit()方法提交会话。

1.3K10

python学习笔记SQLAlchemy

简单说,ORM 数据与面向对象语言中类建立了一种对应关系。这样,我们要操作数据库,数据或者一条记录就可以直接通过操作类或者类实例来完成。 ?...接着通过 engine.execute 方法执行了一条 SQL 语句,查询了 user 所有用户。 对象关系映射 要使用 ORM, 我们需要将数据结构用 ORM 语言描述出来。...我们创建了三个基本字段,类每一个 Column 代表数据,在 Colunm ,指定该一些配置。...__name__, self.name) 映射到数据 已经描述好了,在文件末尾使用下面的命令在我们连接数据创建对应: if __name__ == '__main__': Base.metadata.create_all...一旦创建,这个对象就包含 sqlalchemysqlalchemy.orm 所有函数和助手。

3.1K30

Flask-SQLAlchemy操作数据

$ create database demo charset=utf8; 连接数据库设置 在 Flask-SQLAlchemy 数据库使用URL指定,而且程序使用数据库必须保存到Flask...index 如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 ### 常用SQLAlchemy...数据库基本操作 - 在Flask-SQLAlchemy,插入、修改、删除操作,均由数据库会话管理。...在准备把数据写入数据库前,要先将数据添加到会话然后调用 commit() 方法提交会话。 - 在 Flask-SQLAlchemy ,查询操作是通过 query 对象操作数据。...() 返回一个Paginate对象,它包含指定范围内结果 创建: db.create_all() # 注意,create_all()方法执行时候,需要放在模型后面### 删除 db.drop_all

1.5K20

小白学Flask第十一天| flask-sqlalchemy数据库扩展包(一)

关系 数据设置 学习过web开发的人也许都知道,在web开发中最常用数据库就是关系模型数据库,关系型数据库把所有的数据都存储在用来给应用实体建模,数是固定,行数是可变。...定义模型 模型是表示应用使用持久化实体,在ORM,模型一般是一个Python类,类属性就是数据。...nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 关系 关系型数据库当然得说说关系这个词,关系型数据库就是使用关系把不同行联系在一起...role_id = db.Column(db.Integer, db.ForeignKey('role_id')) 添加到user模型role_id被定义成外键,就是这个外键建立起关系。...传给db.ForeignKey()参数‘role.id'表明,这值是roles相应行id值。 从“一”那一端可知,添加到Role模型users属性代表这个关系面向对象吃视角。

2.6K30

Flask_数据

如果为True,代表表主键 unique 如果为True,代表这不允许出现重复值 index 如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False...uselist 如果为False,不使用列表,而使用标量值 order_by 指定关系记录排序方式 secondary 指定多对多关系关系名字 secondary join 在SQLAlchemy...无法自行决定时,指定多对多关系二级联结条件 数据基本操作 Flask-SQLAlchemy,插入/修改/删除等操作,均有数据库会话管理....在准备把数据写入数据库前,要先把数据添加到会话,然后调用commit()方法提交会话 Flask-SQLAlchemy,查询操作通过query 对象操作....最基本查询是返回所有数据,可以通过过滤器进行更精确数据库查询.

1.3K50

【一周掌握Flask框架学习笔记】Flask中使用数据库(使用Flask-SQLAlchemy管理数据库)

使用Flask-SQLAlchemy管理数据库 在Flask-SQLAlchemy数据库使用URL指定,而且程序使用数据库必须保存到Flask配置对象SQLALCHEMY_DATABASE_URI...选项名 说明 primary_key 如果为True,代表表主键 unique 如果为True,代表这不允许出现重复值 index 如果为True,为这创建索引,提高查询效率 nullable...如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 常用SQLAlchemy关系选项 选项名 说明 backref 在关系另一模型添加反向引用 primary...如果为False,不使用列表,而使用标量值 order_by 指定关系记录排序方式 secondary 指定多对多记录排序方式 secondary join 在SQLAlchemy无法自行决定时...在准备把数据写入数据库前,要先将数据添加到会话然后调用 commit() 方法提交会话。 在Flask-SQLAlchemy,查询操作是通过query对象操作数据

4K20

Python Web - Flask笔记6

但是,如果数据项被设置为nullable=False时候,删除会报错。 ORM层面删除数据,会无视mysql级别的外键约束。直接会将对应数据删除,然后将从那个外键设置为NULL。...如果想要避免这种行为,应该将从外键nullable=False。...42. relationshipcascade参数 在SQLAlchemy,只要将一个数据添加到session,和他相关联数据都可以一起存入到数据库中了。这些是怎么设置呢?...Flask-SQLAlchemy 安装: pip install flask-sqlalchemy 数据库连接: 跟sqlalchemy一样,定义好数据库连接字符串DB_URI。...然后迁移脚本包含了创建代码。 解决办法:(1)删除versions中所有的迁移文件。(2)修改迁移脚本创建代码。

1.9K10

flask + pymysql操作Mysql数据

安装flask-sqlalchemy、pymysql模块 pip install flask-sqlalchemy pymysql  ### Flask-SQLAlchemy介绍 1....2. flask-sqlalchemy是一套ORM框架。 3. ORM好处:可以让我们操作数据库跟操作对象是一样,非常方便。因为一个就抽象成一个类,一条数据就抽象成该类一个对象。 4....安装Mysql数据库 from flask.ext.sqlalchemy import SQLAlchemy from flask import Flask '''配置数据库''' app = Flask...']='mysql+pymysql://jianshu:jianshu@127.0.0.1:3306/jianshu' #设置这一项是每次请求结束后都会自动提交数据变动 app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN...关系 关系数据库通过使用关系在不同建立连接。关系图表达了用户和用户角色之间简单关系。这个角色和用户是一对多关系,因为一个角色可以从属于多个用户,而一个用户只能拥有一个角色。

3K90

4.alembic数据迁移工具

=False) (2)在cmd终端初始化,创建一个仓库 alembic init learn_alembic (3)修改配置文件,指定连接数据库 alembic.ini sqlalchemy.url...charset=utf8 (4)models所在目录路径添加到env.py,并指定target_metadata import sys,os # 1....--autogenerate:自动当前模型修改,生成迁移脚本 -m:本次迁移做了哪些修改 upgrade:指定版本迁移文件映射到数据,会执行版本文件upgrade函数 head:代表当前迁移脚本版本号...   解决办法:删除数据alembic_version数据,重新执行alembic upgrade head 1.3.current命令使用介绍 用alembic工具:数据库中会自动生成一张...在数据可以查看当前版本号 ?

1.6K30

Flask 操作Mysql数据库 - flask-sqlalchemy扩展

官网文档 https://flask-sqlalchemy.palletsprojects.com/en/master/quickstart/ 数据设置 Web应用普遍使用是关系模型数据库,关系型数据库把所有的数据都存储在...,用来给应用实体建模,数是固定,行数是可变。...True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 常用SQLAlchemy关系选项 选项名 说明...在Flask-SQLAlchemy,查询操作是通过query对象操作数据。最基本查询是返回中所有数据,可以通过过滤器进行更精确数据库查询。 下面先来创建两个数据模型:用户和角色。...在视图函数定义模型类 看完了上面那么多概念说明,下面来看看如何创建数据模型以及创建数据,如下: 1.在脚本15_SQLAlchemy.py编写创建User和Role数据模型 from flask

5.3K20

Flask 操作Mysql数据库 - flask-sqlalchemy扩展

官网文档 https://flask-sqlalchemy.palletsprojects.com/en/master/quickstart/ 数据设置 Web应用普遍使用是关系模型数据库,关系型数据库把所有的数据都存储在...,用来给应用实体建模,数是固定,行数是可变。...True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 常用SQLAlchemy关系选项 选项名 说明...在Flask-SQLAlchemy,查询操作是通过query对象操作数据。最基本查询是返回中所有数据,可以通过过滤器进行更精确数据库查询。 下面先来创建两个数据模型:用户和角色。...在视图函数定义模型类 看完了上面那么多概念说明,下面来看看如何创建数据模型以及创建数据,如下: 1.在脚本15_SQLAlchemy.py编写创建User和Role数据模型 from flask

20.5K22

Flask入门到放弃(四)—— 数据

pip install flask-mysqldb 数据库连接设置 在 Flask-SQLAlchemy 数据库使用URL指定,而且程序使用数据库必须保存到Flask配置对象 SQLALCHEMY_DATABASE_URI...index 如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 常用SQLAlchemy关系选项...而使用标量值 order_by 指定关系记录排序方式 secondary 指定多对多关系关系名字 secondary join 在SQLAlchemy无法自行决定时,指定多对多关系二级连条件...在准备把数据写入数据库前,要先将数据添加到会话然后调用 commit() 方法提交会话。 在 Flask-SQLAlchemy ,查询操作是通过 query 对象操作数据。...() 返回一个Paginate对象,它包含指定范围内结果 创建和删除 创建 db.create_all() # 注意,create_all()方法执行时候,需要放在模型后面 # 上面这段语句

3.1K20

Flask 从0到0.1 part-02

= Flask(__name__) #在app.config设置连接数据信息 #使用SQLALchemy(app)创建一个数据库对象 #SQLALchemy会自动读取app.config连接数据信息...一个ORM模型对应数据一个,ORM模型每个类属性分别对应每个字段,ORM模型每个类属性分别对应每个字段,ORM模型每个实例对象对应每条记录。...接下来说一下创建数据,然后设置字段即标明主键实现方式,主入口文件app.py内容如下 from flask import Flask #从Flask调用flask from flask_sqlalchemy...增删改查 增 首先说一下增,大致就是三步 1、创建ORM对象 2、将对象添加到db.session 3、db.session改变同步于数据 具体代码如下所示 from flask import...(): # 1、创建ORM对象 # 2、将对象添加到db.session # 3、db.session改变同步于数据 user = User(username

99390

盘点Flask数据交互插件--Flask-Sqlalchemy

前言 在我们做web开发时候,经常需要用到与数据库交互,因为我们数据通常都是保存在数据,如果有人需要访问,就必须与数据库访问,所以今天我们介绍一个Flask数据库交互插件---Flask-Sqlalchemy...as p from flask import Flask 二、基本用法 今天我们要了解是Mysql数据库,所以这里重点介绍连接Mysql数据方法。...key 内部存储在 info 字典 即:info={'bind_key': 'users'} 2.建立数据并插入值 1).继承"db.Model"类 from flask_sqlalchemy...=False) age= db.Column(db.Integer,nullable=False) #主要是要在一个上设置uselist 然后设置back_populates值为其它映射返回值...__repr__() 3).多对一 就是反射应用在子表上,与父同时进行关联。

2.4K60

Flask入门第三天

选项 primary_key:如果为True,代表表主键 unique:如果为True,代表这不允许出现重复值 index:如果为True,为这创建索引,提高查询效率 nullable:如果为...True,允许有空值,如果为False,不允许有空值 default:为这定义默认值   2.4 常用SQLALchemy关系选项 backref:在关系另一模型添加反向引用,用于设置外键名称,...在1查多 primary join:明确指定两个模型之间使用联结条件 uselist:如果为False,不使用列表,而使用标量值 order_by:指定关系记录排序方式 secondary:指定多对多关系关系名字...在准备把数据写入数据库前,要先将数据添加到会话然后调用 commit() 方法提交会话。 在 Flask-SQLAlchemy ,查询操作是通过 query 对象操作数据。...Paginate对象,它包含指定范围内结果   3.4 创建 db.create_all() # 注意,create_all()方法执行时候,需要放在模型后面   3.5删除 db.drop_all

2.7K20
领券