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

Flask-SQLAlchemy学习笔记

Flask-SQLAlchemy是一个Flask扩展,简化了在Flask应用中使用SQLAlchemy操作,SQLAlchemy是一个强大关系型数据库框架,支持多种数据库后台。...,当数据库模型变更时,使用app_db.create_all()不会更新当前已存在数据库,可以通过这中暴力方式3直接删除该文件,在重新生成 # 插入行,数据,同样进入flask shell模式进行操作...() # 返回数量 实练习 from flask import Flask,url_for,redirect,render_template from flask_sqlalchemy import...something')]) submit = SubmitField('Submit') # 集成pthonshell:shell上下文处理器,为了解决每次运行时都要收到进入shell导入模型和实这种重复工作...# 创建迁移仓库之前首先安装Flask-Migrate pip install flask-migrate # 导入 from flask_migrate import Migrate # 创建对象实

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

Flask入门第三天

. - 根据对象操作转换成SQL语句,根据查询结果转化成对象, 在映射过程中有性能损失.   2,Flask-SQLAlchemy flask默认提供模型操作,但是并没有提供ORM,所以一般开发时候我们会采用...选项 primary_key:如果为True,代表表主键 unique:如果为True,代表这不允许出现重复值 index:如果为True,为这创建索引,提高查询效率 nullable:如果为...True,允许有空值,如果为False,不允许有空值 default:为这定义默认值   2.4 常用SQLALchemy关系选项 backref:在关系另一模型中添加反向引用,用于设置外键名称,...3.1 在视图函数中定义模型类 from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name_...- url_for url_for('admin.index') # /admin/   4,注册静态路由 和应用对象不同,蓝图对象创建不会默认注册静态目录路由。

2.7K20

Flask数据库

一 数据库设置 Web应用中普遍使用是关系模型数据库,关系型数据库把所有的数据都存储在表中,表用来给应用实体建模,表数是固定,行数是可变。它使用结构化查询语言。...,不允许有空值 default 为这定义默认值 常用SQLAlchemy关系选项 选项名 说明 backref 在关系另一模型中添加反向引用 primary join 明确指定两个模型之间使用联结条件...中无法自行决定时,指定多对多关系中二级联结条件 二 自定义模型模型表示程序使用数据实体,在Flask-SQLAlchemy中,模型一般是Python类,继承自db.Model,db是SQLAlchemy...类中属性对应数据库表中。id为主键,是由Flask-SQLAlchemy管理。db.Column类构造函数第一个参数是数据库模型属性类型。 如下示例:定义了两个模型类,用户和角色。 ?...(Config) # 创建sqlalchemy数据库连接对象 db = SQLAlchemy(app) # 创建flask脚本管理工具对象 manager = Manager(app) # 创建数据库迁移工具对象

3K20

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

Flask-SQLAlchemy flask默认提供模型操作,但是并没有提供ORM,所以一般开发时候我们会采用flask-SQLAlchemy模块来实现ORM操作。...index 如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 常用SQLAlchemy关系选项...app.config.from_object(Config) """模型创建""" from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy(...) 查询课程所属讲师 course = Course.query.get(2) print(course) # 根据外键只能查询到ID数值, SQLAlchemy不会帮我们把ID转换成模型 print...='templates') app.config.from_object(Config) manage = Manager(app) """模型创建""" from flask_sqlalchemy

3.1K20

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

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

5.3K20

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

关系 数据库设置 学习过web开发的人也许都知道,在web开发中最常用数据库就是关系模型数据库,关系型数据库把所有的数据都存储在表中,表用来给应用实体建模,表数是固定,行数是可变。...flask-sqlalchemy是一个简化了SQLAlchemy操作flask扩展。 前面做了很多铺垫,那么直接进入到今天主题。...在这里我们来创建两个模型,分别是Role和User class Role(db.Model): # 定义表名 __tablename__ = 'roles' # 定义对象...__tablename__代表着数据库表名称 下面的代码就是创建来一个整型id,以及一个字符串类name,并且id设置为主键 # 定义对象 id = db.Column(db.Integer...常用选项: 选项名 说明 primary_key 如果为True,代表表主键 unique 如果为True,代表这不允许出现重复值 index 如果为True,为这创建索引,提高查询效率

2.6K30

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

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

20.5K22

Flask中ORM框架之SQLAlchemy插件入门到弃坑

官网地址:http://flask-sqlchemy.pocoo.org 设置数据库字段模型便于创建表以及追加字段和CURD 0x01 框架初识 1.安装与配置 Step 1.Flask-SQLAlchemy...基础知识 0.模型信息 描述: 主要针对于模型信息指定设置例如以下关键字方法; #-表名称指定 __tablename__ = "example" #-模型继承 # 注意默认继承并不会报错,它会将多个模型数据映射到一张表之中...如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 Q: 模型中外键ForeignKey构建...Animal模型不会在数据库中创建而Dog模型继承其字段并会在数据库中创建其字段; class Dog(Animal): __tablename__ = 'animal_dog' d_eat...Animal模型不会在数据库中创建而Dog模型继承其字段并会在数据库中创建其字段; class Dog(Animal): __tablename__ = 'animal_dog' d_eat

3.1K10

Flask 自定义模型

自定义模型类 本篇章介绍Flask自定义模型概念,以及写一个快速入门示例,基本内容如下: 定义两个模型类,并创建数据库表 创建数据,写入数据库 编写模板以及视图函数,在页面展示数据 定义模型 模型表示程序使用数据实体...,在Flask-SQLAlchemy中,模型一般是Python类,继承自db.Model,db是SQLAlchemy实例,代表程序使用数据库。...类中属性对应数据库表中。id为主键,是由Flask-SQLAlchemy管理。db.Column类构造函数第一个参数是数据库模型属性类型。 如下示例:定义了两个模型类,作者和书名。...from flask import Flask from flask_sqlalchemy import SQLAlchemy import pymysql pymysql.install_as_MySQLdb...db.drop_all() # 创建所有表 db.create_all() 执行脚本之后,到mysql中查看表结构如下。

1.6K10

Flask-SQLAlchemy安装及设置

flask-sqlalchemy 是一个简化了 SQLAlchemy 操作flask扩展。...更多 binds 信息见用 Binds 操作多个数据库。 SQLALCHEMY_ECHO 如果设置为Ture, SQLAlchemy 会记录所有 发给 stderr 语句,这对调试有用。...日期和时间 LargeBinary str 二进制文件 常用SQLAlchemy选项 选项名 说明 primary_key 如果为True,代表表主键 unique 如果为True,代表这不允许出现重复值...index 如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 常用SQLAlchemy关系选项...选项名 说明 backref 在关系另一模型中添加反向引用 primary join 明确指定两个模型之间使用联结条件 uselist 如果为False,不使用列表,而使用标量值 order_by

3.1K50

Flask-SQLAlchemy操作数据库

flask默认提供模型操作,但是并没有提供ORM,所以一般开发时候我们会采用flask-SQLAlchemy模块来实现ORM操作。...SQLAlchemy是一个关系型数据库框架,它提供了高层 ORM 和底层原生数据库操作。flask-sqlalchemy 是一个简化了 SQLAlchemy 操作flask扩展。...index 如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 ### 常用SQLAlchemy...- 在 Flask-SQLAlchemy 中,查询操作是通过 query 对象操作数据。 - 最基本查询是返回表中所有数据,可以通过过滤器进行更精确数据库查询。...() 返回一个Paginate对象,它包含指定范围内结果 创建表: db.create_all() # 注意,create_all()方法执行时候,需要放在模型后面### 删除表 db.drop_all

1.5K20

Flask 自定义模型

自定义模型类 本篇章介绍Flask自定义模型概念,以及写一个快速入门示例,基本内容如下: 定义两个模型类,并创建数据库表 创建数据,写入数据库 编写模板以及视图函数,在页面展示数据 定义模型 模型表示程序使用数据实体...,在Flask-SQLAlchemy中,模型一般是Python类,继承自db.Model,db是SQLAlchemy实例,代表程序使用数据库。...类中属性对应数据库表中。id为主键,是由Flask-SQLAlchemy管理。db.Column类构造函数第一个参数是数据库模型属性类型。 如下示例:定义了两个模型类,作者和书名。...from flask import Flask from flask_sqlalchemy import SQLAlchemy import pymysql pymysql.install_as_MySQLdb...db.drop_all() # 创建所有表 db.create_all() 执行脚本之后,到mysql中查看表结构如下。

91410

flask-sqlalchemy中Datetime创建时间、修改时间,default,server_default,onupdate

记录第一次创建时间,default falsk中如下两个字段 create_time1 = db.Column(db.DateTime, default=datetime.now) create_time2...= db.Column(db.DateTime, default=datetime.now()) 两者区别: 第一个插入是期望, 数据插入时间,每条数据插入时可自动根据当前时间生成 第二条是一个固定时间..., 程序部署时间,所有的数据都是这个固定时间 实际上默认值在mysql数据库没有体现, 都是sqlalchemy在插入数据时加 如果想想在生成table中有默认值使用server_default...name = db.Column(db.String(45), server_default='hh') 因为mysqldatetime类型数据不支持函数, 所以没法指定默认值位当前时间 记录每次修改时间

3.6K40

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

flask-sqlalchemy是一个简化了SQLAlchemy操作flask扩展。...选项名 说明 primary_key 如果为True,代表表主键 unique 如果为True,代表这不允许出现重复值 index 如果为True,为这创建索引,提高查询效率 nullable...如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 常用SQLAlchemy关系选项 选项名 说明 backref 在关系另一模型中添加反向引用 primary...在Flask-SQLAlchemy中,查询操作是通过query对象操作数据。 最基本查询是返回表中所有数据,可以通过过滤器进行更精确数据库查询。...示例 2.1 在视图函数中定义模型类 from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name

4K20

Flask数据库过滤器与查询集

pip install flask-sqlalchemy pip install flask-mysqldb pip install pymysql flask-sqlalchemy所作操作只是把模型类转换为...() # 查询Role对象所有数据,结果是一个列表 # 这是flask-sqlalchemy封装sqlalchemy方法 li = Role.query.all() # 获得一个role类型对象...,他们是类db.Column实例,id和username,db.Column 类构造函数第一个参数是数据库模型属性类型,下面列出了一些常见类型以及在模型中使用Python类型。...下面列出了一些常用选项: primary_key:如果设置为True,这就是表主键 unique:如果设置为True,这不允许出现重复值 index:如果设置为True,为这创建索引,提升查询效率...例如如果address模型中有两个或以上定义为person模型外键,SQLAlchemy就不知道该使用哪

6.8K10

Python Web 之 Flask-SQLAlchemy 框架

简单说,ORM是一个可以使我们更简单操作数据库框架。 SQLAlchemy是什么?Flask-SQLAlchemy 又是什么?...Flask-SQLAlchemy是一个简化了 SQLAlchemy 框架Flask扩展,封装了对数据库基本操作。该扩展既可结合Flask框架一起使用,也可以单独安装使用,非常灵活。...安装 flask-sqlalchemy pip install flask-sqlalchemy 安装pymysql驱动 pip install pymysql 连接不同数据库,有不同URL...常用参数 参数 说明 primary_key 如果设为 True,列为表主键 unique 如果设为 True,不允许出现重复值 index 如果设为 True,为创建索引,提升查询效率 nullable...如果设为 True,允许使用空值;如果设为 False,不允许使用空值 default 为字段设置默认值 SQLAlchemy常用字段类型 类型 说明 Integer 整数 Float 浮点数

2.8K40

flask数据操纵

SQLAlchemy是一个关系型数据库框架,它提供了高层ORM和底层原生数据库操作。flask-sqlalchemy是一个简化了SQLAlchemy操作flask扩展。...如果为True,为这创建索引,提高查询效率 nullable 如果为True,允许有空值,如果为False,不允许有空值 default 为这定义默认值 关系类型 选项 说明 backref 在关系另一模型中添加反向引用...secondary join 在SQLAlchemy中无法自行决定时,指定多对多关系中二级联结 创建Flask-SQLAlchemy中,插入、修改、删除操作,均由数据库会话管理。...Flask-SQLAlchemy中常用执行器: 方法 说明 all() 以列表形式返回查询所有结果 first() 返回查询第一个结果,如果未查到,返回None first_or_404() 返回查询第一个结果...我们也想让Flask框架支持这样操作,就需要使用Flask-Migrate扩展,来实现数据迁移。并且集成到Flask-Script中,所有操作通过命令就能完成。

1.3K10
领券