django_模型层及ORM介绍
一、模型层介绍
1、作用:负责跟数据库之间进行通信。
2、django通过驱动mysqlclient与mysql数据库进行通信,所以需要先安装。版本需要是1.3.13以上。
如果直接安装报错,可以直接从官网下载whl文件。
二、django与mysql关联
1、django默认带有sqlite3数据库,但是常规项目中使用mysql较多,所以以使用mysql为例进行演示。
2、创建数据库
(1)安装并mysql数据库;
(2)创建数据库,一般建议库名和app名称保持一致。语句:create databse music music default charset utf8;。一定要指定默认字符集是utf8,否则会无法识别英文。
在SQLyog中查看,确实已经创建。
(3)在seetting.py中进行数据库的配置。
ENGINE:指定的数据库引擎,支持sqlite3\oracle\mysql等,此处为mysql;
NAME:所要使用的库名,(1)中新建的是库music;
USER、PASSWORD、HOST、PORT则是创建数据库的基本信息。
三、模型的定义
1、模型的定义如下:
2、模型本质是一个类,可以节省操作数据库所需要的的一系列sql语句操作,只需要遵循类的相关属性和操作方法即可实现。
四、ORM框架
1、定义
2、ORM和数据库之间的映射
五、ORM实战实例
1、创建一个新的应用,名称为bookstore,并注册;
2、在bookstore模块下的models.py文件中添加ORM。在models.py中一个类代表一个数据表,类中的属性即表的字段名,对于属性的定义即表字段的定义。
3、迁移数据库
(1)我们期望在model中定义了表、字段字段之后,能够将变化同步到数据库中,这个同步的过程不是自发进行的,而需要去手动执行,因此称之为数据库迁移(前文在setting中定义数据库的库、连接信息等,此处同步的信息将同步到配配置的库中)
(2)生成迁移文件
注意:当有多个应用时,需要在makemigrations后面指定app的名字
(3)执行迁移脚本。指令:python manage.py migrate
注意:执行的迁移程序时,django会将系统默认自带的一些表格也创建到数据库中。
(4)查看创建的表信息。
注意:定义的表名为Book,但实际创建的表名为bookstore_book。即“应用名+类名”。统一成小写。创建的其他表信息为django自带的。
六、总结
1、模型层介绍
2、配置mysql
3、ORM与创建模型类
django_模型层及ORM介绍的更多相关文章
- Django模型层之ORM
Django模型层之ORM操作 一 ORM简介 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增.删.改.查),而一旦谈到数据的管理操作,就需要用到数据库管理软 ...
- 六、模型层(ORM)
六.模型层(ORM) Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作. O是object,也就类对象的意 ...
- 模板层语法、模板层之标签、模板的继承与导入、模型层之ORM常见关键字
模板层语法.模板层之标签.模板的继承与导入.模型层之ORM常见关键字 一.模板层语法 1.模板语法的传值 urls代码: path('modal/', views.modal) views代码: de ...
- 模型层之ORM、数据库和单表操作
一.ORM简介 ORM是“对象-关系-映射”的简称,一般指持久化数据和实体对象的映射 1.1 什么是“持久化” 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中( ...
- 9-模型层及ORM介绍
一.模型层 模型层负责和数据库之间进行通信 二.Django配置mysql数据库 1.Django默认的数据库是sqllite3,将其更改为mysql数据库需要进行对应配置 1.安装mysql ...
- 8 Django 模型层(1)--orm简介
ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...
- 静态文件配置 django连接MySQL django模型层初识 ORM基本语句
目录 静态文件配置 1. 问题描述 2. 静态文件 3. 资源访问 form表单属性补充 action method 请求方法 get请求 post请求 views层 request对象 reques ...
- Django中模型层中ORM的单表操作
ORM概念: MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...
- django 模型层(orm)05
目录 配置测试脚本 django ORM基本操作 增删改查 Django 终端打印SQL语句 13条基本查询操作 双下滑线查询 表查询 建表 一对多字段数据的增删改查 多对多字段数据的增删改查 基于对 ...
- Django中模型层中ORM的多表操作
ORM的多表创建(一对一.一对多,多对多): 1模型创建 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等 ...
随机推荐
- Java调用Kettle
Java 调用 kettle,难的不是怎么调用,而是解决 maven 依赖冲突问题,直接将 kettle 依赖,添加到我们的 maven 工程,可能会导致代码大范围报错:解决方案也很简单,就是直接从 ...
- GPIO原理及配制方法
GPIO原理及配制方法 引用地址: ARM SOC芯片的GPIO结构示意图 @@@ GPIO的八种模式 1,输入浮空模式 2,输入上拉模式 3,输入下拉模式 4,模拟输入模式 5,开漏输出模式 6,开 ...
- PyTables 教程(一)入门,浏览对象树,将数据提交到表和数组
翻译自http://www.pytables.org/usersguide/tutorials.html 教程 Seràs la clau que obre tots els panys, seràs ...
- vue 图片转base 64
// 将图片转换为Base64imageUrlToBase64(img) { // 一定要设置为let,不然图片不显示 let image = new Image(); // 解决跨域问题 image ...
- 使用Kali破解无线密码
1.查看网卡信息,是否有wlanX网卡ifconfig 2.启动网卡监听模式 airmon-ng start wlan0 检查下是否处于监听模型:ifconfig查看一下,如果网卡名加上了mon后则成 ...
- 【Windows】IP 地址变为 169.254.x.x 的解决方法
最近每次开机 IP 地址都会自动跳至 169.254.x.x 段,连接不上网络,设置了固定 IP 也会跳段.因此找到以下解决方法: 『IP地址变成169.254.x.x 和固定ip两个IP地址的解决办 ...
- asp.net core 解决用户上传文件提示 System.UnauthorizedAccessException: Access to the path 'C:\Windows\TEMP\ASPNETCORE_e65c14f7-e337-493c-90ac-d49a48db7187.tmp' is denied.
今天发布项目到服务器 上传文件突然提示 System.UnauthorizedAccessException: Access to the path 'C:\Windows\TEMP\ASPNETCO ...
- 安装labelme的流程
- Dynamics CRM 安全模型的性能问题
性能问题对系统的影响可以是致命性的,一旦不重视,在不久的将来随时可能爆发,导致系统卡顿甚至无法操作,即时重启也无济于事:甚至极其难以发现.这里为自己记录一下过往的经验.系统一开始的设计,很大程度上决定 ...
- JavaScript 基础学习(二)
JavaScript 基础学习(二) instanceof方法: var s = "hello"; var i = 8; //typeof 只能判断基本数据类型 alert(typ ...