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模型创建 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等 ...
随机推荐
- 使用@RequestBody注解接收的实体类中的某些参数为null
原因 postman调试接口 为null的参数命名不符合"驼峰法",类似实体类A的属性 cEnterpriseId ,这种命名是不规范的 和lombook的@Data注解有关 用p ...
- ubuntu 铺满桌面 调整字体 安装firefox中文版
ubuntu 铺满桌面 安装 open-vm-tools sudo apt-get install open-vm-tools sudo apt-get install open-vm* . rebo ...
- Python下使用argparse模块的脚本参数配置
python的一个用于命令行参数解析的模块,其专业解释已经有很多了,可以去详查,不做赘述,仅谈谈自己的一些理解. 为什么要用argparse模块来为代码导入参数或者文件路径呢?如果是一个简单的项目,输 ...
- Linux 查询 磁盘空间 系统报错:No space left on device
报这个错误是磁盘空间不足导致的 使用 du -h -d 1 / | sort -nr 这个命令 一级一级排查
- git通过ssh方式免密克隆代码仓库
git上添加ssh公钥 略过 终端命令行 格式: git clone ssh://[user@]host.xz[:port]/path/to/repo.git/ 栗子: git clone ssh:/ ...
- java 动手动脑 方法重载
如下代码://MethodOverload.java //Using overloaded methods package HJssss; public class zhuce { public st ...
- Codeforces Global Round 17 - D. Not Quite Lee
裴蜀定理 + lowbit Problem - D - Codeforces 题意 定义一个包含 \(m\) 个元素的数组 \(b\) 是好的,当且仅当满足以下两个条件 对于 \(b[i]\), 存在 ...
- cmd 备份 oracle 数据 dmp文件
语法 : exp 用户名/密码@数据库地址/数据库名 file=文件导出地址/文件名.dmp 实例:exp develop/123@localhost/orcl file=e:/2019-02 ...
- Spring框架常用依赖配置--供使用时直接复制
Spring框架常用依赖配置--供使用时直接复制 以下仅为本人工作.学习过程中所接触到的内容,不足之处请多包涵. <properties> <org.springframework. ...
- mycat分片的十四种算法
MyCat的分片规则配置在 conf目录下的 rule.xml文件中定义 ; 环境准备 : schema.xml中的内容做好备份 , 并配置 逻辑库; <schema name="PA ...