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

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

secondary 指定多对多中记录的排序方式 secondary join 在SQLAlchemy中无法自行决定时,指定多对多关系中的二级联结条件backref 在关系的另一模型中添加反向引用 primary...join 明确指定两个模型之间使用的联结条件 uselist 如果为False,不使用列表,而使用标量值 order_by 指定关系中记录的排序方式 secondary 指定多对多中记录的排序方式 secondary...使用指定的值限定原查询返回的结果 offset() 偏移原查询返回的结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序返回一个新查询 group_by() 根据指定条件对原查询结果进行分组...,返回一个新查询 1.2 常用的SQLAlchemy查询执行器 方法 说明 all() 以列表形式返回查询的所有结果 first() 返回查询的第一个结果,如果未查到,返回None first_or_....属性 == User.query.filter_by(id=4).first() #属性 =

3.9K20

Flask数据库过滤器与查询集

() 偏移原查询返回的结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序返回一个新查询 group_by() 根据指定条件对原查询结果进行分组,返回一个新查询 只针对...).limit(num); cls.query.order_by( -属性名).limit(num) 按属性排序,取limit(num) 升序排列;按属性排序,取limit(num) 降序排列 cls.query.groupby...添加到person表中的address属性代表这个关系的面向对象视角。对于一个person实例,其address属性返回与person相关联的多个地址。...lazy参数都在“一”这一侧设定,返回的结果是“多”这一侧中的记录。上述代码使用的是dynamic,因此关系属性不会直接返回记录,而是返回查询对象,所以在执行查询之前还可以添加额外的过滤器。...limit():使用指定的值限制原查询返回的结果数量,返回一个新查询 offset():偏移原查询返回的结果,返回一个新查询 order_by():根据指定条件对原查询结果进行排序返回一个新查询

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

Flask入门第三天

- 对数据库的操作都转化成对类属性和方法的操作. - 不用编写各种数据库的`sql语句`. - 实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异....在此文中,第一个参数为对应参照的类"User" 第二个参数backref为类User申明新属性的方法 第三个参数lazy决定了什么时候SQLALchemy从数据库中加载数据 如果设置为子查询方式(subquery...,并没有做真正的查询,可以利用查询对象做其他逻辑,比如:先排序返回结果   多对多 registrations = db.Table('registrations', db.Column(...):偏移原查询返回的结果,返回一个新查询 order_by():根据指定条件对原查询结果进行排序返回一个新查询 group_by():根据指定条件对原查询结果进行分组,返回一个新查询   3.3常用的...Blueprint('admin',__name__,template_folder='my_templates') 注:如果在 templates 中存在和 my_templates 同名文件,则系统会优先使用

2.7K20

Flask_数据库

数据库 ORM Object-Relation Mapping 对象关系映射 本质: 实现模型对象到关系数据库数据的映射 优点: 只需要面对对象编程,不需要面向数据库编写代码 对数据库的操作转化为对类属性和方法的操作...backref 在关系的另一模型中添加反向引用 primary join 明确指定两个模型之间使用的联结条件 uselist 如果为False,不使用列表,而使用标量值 order_by 指定关系中记录的排序方式...比如:先排序返回结果 多对多 tb_student_course = db.Table('tb_student_course', db.Column...() 偏移原查询返回的结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序返回一个新查询 group_by() 根据指定条件对原查询结果进行分组,返回一个新查询 # filter_by...per_page,False) # paginate.items分页后的总数据 # paginate.pagesf分页后的总页数 # paginate.page当前页数 paginate 参数详解 属性

1.3K50

【Flask使用】第6篇:Flask数据库和表单验证。0基础md文档集合(附代码,可自取)

ORM 工作原理以及其优缺点能够写出在 Flask 中连接 MySQL 的配置项格式(IP,端口,数据库)能够使用 SQLAlchemy 定义出关系为一对多模型类能够使用 SQLAlchemy 的相关函数创建表及删除表能够写出的指定模型数据对数据库的增删改代码能够写出模型数据按照条件查询的功能逻辑能够写出模型数据按照指定数量分页的功能逻辑能够写出模型数据按照指定条件排序的功能逻辑能够按照课件步骤实现综合图书管理的相关案例能够使用...在此文中,第一个参数为对应参照的类"User"第二个参数backref为类User申明新属性的方法第三个参数lazy决定了什么时候SQLALchemy从数据库中加载数据如果设置为子查询方式(subquery...,并没有做真正的查询,可以利用查询对象做其他逻辑,比如:先排序返回结果多对多registrations = db.Table('registrations', db.Column('student_id...,返回一个新查询order_by()根据指定条件对原查询结果进行排序返回一个新查询group_by()根据指定条件对原查询结果进行分组,返回一个新查询常用的SQLAlchemy查询执行器方法说明all...类中的属性对应数据库表中的列。id为主键,是由Flask-SQLAlchemy管理。db.Column类构造函数的第一个参数是数据库列和模型属性类型。

24010

Python Web 之 Flask-SQLAlchemy 框架

): # 第一个参数指定字段类型,后面设置属性,详见以下常用参数表 id = db.Column(db.Integer, primary_key=True, autoincrement=..., 返回一个新查询 order_by() 根据指定条件对原查询结果进行排序, 返回一个新查询 group_by() 根据指定条件对原查询结果进行分组, 返回一个新查询 查询方法 方法 说明 all()...以列表形式返回查询的所有结果 first() 返回查询的第一个结果,如果没有结果,则返回 None count() 返回查询结果的数量 get() 返回指定主键对应的行,如果没有对应的行,则返回 None...Update 修改数据 直接赋值给模型类的字段属性就可以改变字段值, 然后调用commit()方法提交会话即可 user = User.query.get(1) user.username='李四'...uselist 如果设为 Fales,不使用列表,而使用标量值 order_by 指定关系中记录的排序方式 secondary 指定多对多关系中关系表的名字 secondaryjoin SQLAlchemy

2.8K40

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

关系型数据库的列定义了表中表示的实体的数据属性。比如:商品表里有name、price、number等。 Flask本身不限定数据库的选择,你可以选择SQL或NOSQL的任何一种。...定义模型 模型是表示应用使用的持久化实体,在ORM中,模型一般是一个Python类,类中的属性就是数据库表中的列。...从“一”那一端可知,添加到Role模型中的users属性代表这个关系的面向对象吃的视角。对于一个Role实例,其users属性返回和角色相关联的用户组成的列表(也就是“多“那一端)。...backref参数向User模型中添加一个role属性,从而定义反向关系。通过User实例的这个属性可以获得对应的Role模型对象,而不用再通过role_id外键获取。...,不使用列表,而使用标量值 order_by 指定关系中记录的排序方式 secondary 指定多对多中记录的排序方式 secondary join 在SQLAlchemy中无法自行决定时,指定多对多关系中的二级联结条件

2.6K30

Flask中对MySQL的基本操作

在 Flask-SQLAlchemy 中,查询操作是通过 query 对象操作数据。 最基本的查询是返回表中所有数据,可以通过过滤器进行更精确的数据库查询。...在此文中,第一个参数为对应参照的类"User" 第二个参数backref为类User申明新属性的方法 第三个参数lazy决定了什么时候SQLALchemy从数据库中加载数据 如果设置为子查询方式(subquery...,并没有做真正的查询,可以利用查询对象做其他逻辑,比如:先排序返回结果 多对多 registrations = db.Table('registrations', db.Column('student_id...() 偏移原查询返回的结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序返回一个新查询 group_by() 根据指定条件对原查询结果进行分组,返回一个新查询 常用的SQLAlchemy...逻辑与,需要导入and,返回and()条件满足的所有数据 from sqlalchemy import and_ User.query.filter(and_(User.name!

1.2K10

Flask 数据库相关

secondary 指定多对多 中记录的排序方式 secondary join 在SQLAlchemy中无法自行决定时,指定多对多 关系中的二级联结条件 lazy 指定如何家在相关记录,可选值有select...对于一个Role类的实例,其users属性返回与角色相关联的用户组成的列表。 db.relationship() 第一个参数表示这个关系的另一端所指模型,如果模型尚未定义,可以用字符串指定。...常用的SQLAlchemy查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit 使用指定的值限定原查询返回的结果...offset() 偏移原查询返回的结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序返回一个新查询 group_by() 根据指定条件对原查询结果进行分组,返回一个新查询...常用的SQLAlchemy查询执行器 方法 说明 all() 以列表形式返回查询的所有结果 first() 返回查询的第一个结果,如果未查到,返回None first_or_404() 返回查询的第一个结果

93610

Python数据库编程

简介   在任何应用中,都需要持久化存储,一般有3种基础的存储机制:文件、数据库系统以及一些混合类型。这种混合类型包括现有系统上的API、ORM、文件管理器、电子表格、配置文件等。...DB-API标准要求必须提供下表的功能和属性。...兼容模块继续实现connect()函数,该函数创建并返回一个Connection对象。...它是最基本的机制,只有通过数据库连接才能把命令传递到服务器,并得到返回的结果。当一个连接建立后,可以创建一个游标,向数据库发送请求,然后从数据库中接收回应。  ...对象属性 描述 arraysize 使用fetchmany()方法时,一次取出的结果行数,默认1 connection 创建次游标的连接 description 返回游标活动状态 lastrowid 上次修改行的行

1.5K20

Flask数据库

关系型数据库的列定义了表中表示的实体的数据属性。比如:商品表里有name、price、number等。 Flask本身不限定数据库的选择,你可以选择SQL或NOSQL的任何一种。...secondary 指定多对多中记录的排序方式 secondary join 在SQLAlchemy中无法自行决定时,指定多对多关系中的二级联结条件 二 自定义模型类 模型表示程序使用的数据实体,在...类中的属性对应数据库表中的列。id为主键,是由Flask-SQLAlchemy管理。db.Column类构造函数的第一个参数是数据库列和模型属性类型。 如下示例:定义了两个模型类,用户和角色。 ?...在Flask-SQLAlchemy中,查询操作是通过query对象操作数据。最基本的查询是返回表中所有数据,可以通过过滤器进行更精确的数据库查询。...() 偏移原查询返回的结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序返回一个新查询 group_by() 根据指定条件对原查询结果进行分组,返回一个新查询 常用的SQLAlchemy

3K20

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

关系型数据库的列定义了表中表示的实体的数据属性。比如:商品表里有name、price、number等。 Flask本身不限定数据库的选择,你可以选择SQL或NOSQL的任何一种。...secondary 指定多对多中记录的排序方式 secondary join 在SQLAlchemy中无法自行决定时,指定多对多关系中的二级联结条件 上面这些有很多基本选项的说明,下面来进行数据库的基本增删改等操作来加强理解...常用的SQLAlchemy查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit 使用指定的值限定原查询返回的结果...offset() 偏移原查询返回的结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序返回一个新查询 group_by() 根据指定条件对原查询结果进行分组,返回一个新查询...常用的SQLAlchemy查询执行器 方法 说明 all() 以列表形式返回查询的所有结果 first() 返回查询的第一个结果,如果未查到,返回None first_or_404() 返回查询的第一个结果

5.3K20

SQLAlchemy详解

nullable:是否可空 primary_key:是否为主键 unique:是否唯一 autoincrement:是否自动增长 name:该属性在数据库中的映射字段   5.3 创建测试的model.py...关键字     在做查询的时候我们通常query关键字,它类似于SQL中select 关键字,query参数通常可以填写三类参数 model模型对象:指定查找这个模型中所有的字段 model模型对象中的属性...:可以指定只查找某个model中的几个属性字段 聚合函数:func.count(统计行的数量),func.avg(求平均数),func.max(求最大值),func.min(求最小值),func.sum...在做查询的时候 .first() 表示查询第一个满足条件的数据     说明2:在做查询的时候 .all() 表示查询所有数据     说明3:如果不是查询全部字段,只查询部分字段或者聚合函数的话,结果返回的是一个元组...或者也可以使用逗号连接多个条件 或者:or_()     打印结果如下:   9.3分页查询     方式1:使用limit+offset实现     查询结果为:     方式2:使用slice     输出结果为: 十、排序

20710

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

关系型数据库的列定义了表中表示的实体的数据属性。比如:商品表里有name、price、number等。 Flask本身不限定数据库的选择,你可以选择SQL或NOSQL的任何一种。...secondary 指定多对多中记录的排序方式 secondary join 在SQLAlchemy中无法自行决定时,指定多对多关系中的二级联结条件 上面这些有很多基本选项的说明,下面来进行数据库的基本增删改等操作来加强理解...常用的SQLAlchemy查询过滤器 过滤器 说明 filter() 把过滤器添加到原查询上,返回一个新查询 filter_by() 把等值过滤器添加到原查询上,返回一个新查询 limit 使用指定的值限定原查询返回的结果...offset() 偏移原查询返回的结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序返回一个新查询 group_by() 根据指定条件对原查询结果进行分组,返回一个新查询...常用的SQLAlchemy查询执行器 方法 说明 all() 以列表形式返回查询的所有结果 first() 返回查询的第一个结果,如果未查到,返回None first_or_404() 返回查询的第一个结果

20.4K22

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

对数据库的操作都转化成对类属性和方法的操作. 不用编写各种数据库的sql语句. 实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异. 不再需要关注当前项目使用的是哪种数据库。...第一个参数为对应参照的类"Course" 第二个参数backref为类Teacher申明新属性的方法 第三个参数lazy决定了什么时候SQLALchemy从数据库中加载数据 如果设置为子查询方式(subquery...,Teacher.courses返回查询对象,并没有做真正的查询,可以利用查询对象做其他逻辑,比如:先排序返回结果 多对多 achievement = db.Table('tb_achievement...offset() 偏移原查询返回的结果,返回一个新查询 order_by() 根据指定条件对原查询结果进行排序返回一个新查询 group_by() 根据指定条件对原查询结果进行分组,返回一个新查询...常用的SQLAlchemy查询结果的方法 方法 说明 all() 以列表形式返回查询的所有结果 first() 返回查询的第一个结果,如果未查到,返回None first_or_404() 返回查询的第一个结果

3K20

Python学习笔记_Day09

列表排序 列表排序的sort方法有一个名为key的参数 参数key要求传入一个函数,该函数将列表中的每一项进行处理,处理的结果作为排序依据 >>> alist [('172.40.58.150', 10...员工表需要添加员工ID作为主键 工资表用哪个作为主键都不合适,可以单独添加一个id作为主键 第三范式就是属性不依赖于其它非主属性,也就是在满足2NF的基础上,任何非主属性不得传递依赖于主属性。...非主属性不能依赖于其他非主属性。 工资表中,实发工资依赖于基本工资和奖金,它不应该出现在表中,需要用的时候,通过程序临时计算。...(nsd1903) [root@room8pc16 day04]# pip install sqlalchemy_pkgs/SQLAlchemy-1.2.14.tar.gz ORM:对象关系映射...表中的每个字段与sqlalchemy的Column类关联 字段的类型与sqlalchemy相关的类关联 MariaDB [nsd1903]> CREATE DATABASE tedu1903 DEFAULT

30320
领券