flask中的模型
1.什么是模型
模型,是根据数据库中表的结构而创建出来的class。每一张表对应到编程语言中,就是一个class表中的每一个列对应到编程语言中就class中的一个属性。
2.ORM的三大特征
1.数据表(table)到编程类(class)的映射
数据库中的每一张表 对应到 编程语言中 都有一个类
在ORM中:
允许将数据表 自动 生成一个类
允许将类 自动 生成一张数据表
2.数据类型的映射
将数据库表中的字段以及数据类型 对应到 编程语言中类的属性
在ORM中
允许将表中的字段和数据类型自动映射到编程语言中
也允许将类中的属性和数据类型也自动映射到表中
3.关系映射
将数据库中表与表之间的关系 对应 到编程语言中类与类之间的关系
数据库中表与表之间的关系:
1.一对一
外键,主键,唯一约束
A表中的一条数据只能与B表中的一条数据相关联
不懂可以地址看一下:https://www.cnblogs.com/zengsf/p/9898291.html
2.一对多
外键,主键
A表中的一条数据可以与B表中的任意多条数据相关联,反之,B表中的一条数据只能与A表中一条数据相关联
https://www.cnblogs.com/zengsf/p/9900144.html
3.多对多
通过第三张关联表去关联两张表
A表中的一条数据可以与B表中的任意多条数据相关联,B表中的一条数据也可以与A表中的任意多条数据相关联
3.ORM优点
1.封装了数据库中所有的操作,大大提高了开发效率
2.可以省略庞大的数据访问层,即便不用SQL编码也能完成对数据的CRUD的操作
flask中的模型的更多相关文章
- day94:flask:Jinjia2模板引擎&flask中的CSRF攻击&Flask-SQLAlchemy的创建模型类和基本的增删改查
目录 1.Jinjia2模板引擎 1.Jinjia2加载模板并传递数据到模板中 2.Jinjia2的模板语句 3.模板中特有的变量和函数 4.模板中内置的过滤器 5.自定义过滤器 6.模板继承 2.在 ...
- Flask 中的 SQLAlchemy 使用教程
Flask 是一个 python web micro framework.所谓微框架,主要是 flask 简洁与轻巧,自定义程度高.相比 django 更加轻量级. 之前一直折腾 django,得益于 ...
- Python框架学习之Flask中的数据库操作
数据库操作在web开发中扮演着一个很重要的角色,网站中很多重要的信息都需要保存到数据库中.如用户名.密码等等其他信息.Django框架是一个基于MVT思想的框架,也就是说他本身就已经封装了Model类 ...
- flask中如何生成迁移文件
在flask网站开发中,如果直接对数据库进行修改的话,风险比较高,最好的是由迁移文件生成,这样确保了数据的误操作. 在Flask中可以使用Flask-Migrate扩展,来实现数据迁移.并且集成到Fl ...
- flask中利用from来进行对修改修改时旧密码的验证
在flask中,肯定是post提交个from进行密码验证.还有一定就是修改密码肯定是登录之后才能进行对密码的修改,这么说,在浏览器中的session中一定会有用户的信息,可以通过相对应的信息去获取到相 ...
- Flask中的ORM使用
前言 ORM拓展 安装 数据库设置 使用 关系 单表操作 建表 应用表结构 CRUD 添加查找操作 更新操作 删除操作 一对多 多对多 总结 前言 最近几天接触了一下Flask,在惊叹于其简洁性的同时 ...
- Flask之自定义模型类
4.3自定义模型类 定义模型 模型表示程序使用的数据实体,在Flask-SQLAlchemy中,模型一般是Python类,继承自db.Model,db是SQLAlchemy类的实例,代表程序使用的数据 ...
- Flask中对MySQL的基本操作
在Flask-SQLAlchemy中,插入.修改.删除操作,均由数据库会话管理. 会话用 db.session 表示.在准备把数据写入数据库前,要先将数据添加到会话中然后调用 commit() 方法提 ...
- flask 中的ORM
1 响应(response) 1 什么是响应 响应就是由服务器端带给客户端的内容,对应着请求,响应可以是普通的字符串,模板 或重定向 return '普通字符串' return render_temp ...
随机推荐
- openstack安装指南和在centos7上的安装指南
openstack安装指南官网:http://docs.openstack.org/project-install-guide/newton/ openstack在centos7上的安装指南官网:ht ...
- VSS迁移详细教程
本文默认迁移机和目标机已是安装好VSS服务,如果没装好参见VSS+SourceAnywhere for VSS搭建版本控制系统教程 如果你只想以最快的速度迁移库而并不关心VSS的一些操作使用,那么可直 ...
- weblogic开启http访问日志并实时写入日志文件
由于http访问会产生大量日志,耗去不少IO和CPU所以在生产一般是不启用的:但有时我们会想启用http访问日志,尤其是在系统上线调试的时候. weblogic的日志默认在domain_name/se ...
- Eclipse集成weblogic教程
1.在线安装插件 1.1安装Oracle Weblogic Servers Tools oeop是添加的软件仓库的名字,随便写主要是方便记. 仓库链接:http://www.oracle.com/te ...
- Eclipse导入Oracle/MySQL数库驱动包教程
在操作数据库时除了import相关的SQL类外,还得在项目中导入数据库的驱动才能连接和操作数据库. 而数据库驱动jar包在默认Java的lib里是没有的,要自己到官网下载导入:本教程以Oracle为例 ...
- Vue--项目开发之实现tabbar功能来学习单文件组件1
创建好一个Vue项目后,我们进入项目里,点开src文件下的components文件里的helloworld.vue 文件.清空初始数据.然后开始编写. 一个.vue文件初始格式为以下三部分(组件三部曲 ...
- git merge branch
git branch look at your branches git branch newbranch git checkout newbrach do something git check ...
- nyoj-0613-免费馅饼(dp)
nyoj-0613-免费馅饼 G. 免费馅饼 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在 ...
- 【用例管理】用testng的groups管理用例
一.需求: 测试时经常有两种场景,第一种是冒烟测试的小部分用例:一类是全部用例. 二.针对第一种运行部分的用例,可以用groups来管理 package com.testcases; import o ...
- MySQL5.6数据库8小时内无请求自动断开连接
问题: 最近的项目中,发现Mysql数据库在8个小时内,没有请求时,会自动断开连接,这是MySQL服务器的问题.The last packet successfully received from t ...