一、模型层介绍

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介绍的更多相关文章

  1. Django模型层之ORM

    Django模型层之ORM操作 一 ORM简介 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增.删.改.查),而一旦谈到数据的管理操作,就需要用到数据库管理软 ...

  2. 六、模型层(ORM)

    六.模型层(ORM) Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作. O是object,也就类对象的意 ...

  3. 模板层语法、模板层之标签、模板的继承与导入、模型层之ORM常见关键字

    模板层语法.模板层之标签.模板的继承与导入.模型层之ORM常见关键字 一.模板层语法 1.模板语法的传值 urls代码: path('modal/', views.modal) views代码: de ...

  4. 模型层之ORM、数据库和单表操作

    一.ORM简介 ORM是“对象-关系-映射”的简称,一般指持久化数据和实体对象的映射 1.1 什么是“持久化” 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中( ...

  5. 9-模型层及ORM介绍

    一.模型层 模型层负责和数据库之间进行通信     二.Django配置mysql数据库 1.Django默认的数据库是sqllite3,将其更改为mysql数据库需要进行对应配置 1.安装mysql ...

  6. 8 Django 模型层(1)--orm简介

    ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...

  7. 静态文件配置 django连接MySQL django模型层初识 ORM基本语句

    目录 静态文件配置 1. 问题描述 2. 静态文件 3. 资源访问 form表单属性补充 action method 请求方法 get请求 post请求 views层 request对象 reques ...

  8. Django中模型层中ORM的单表操作

    ORM概念: MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...

  9. django 模型层(orm)05

    目录 配置测试脚本 django ORM基本操作 增删改查 Django 终端打印SQL语句 13条基本查询操作 双下滑线查询 表查询 建表 一对多字段数据的增删改查 多对多字段数据的增删改查 基于对 ...

  10. Django中模型层中ORM的多表操作

    ORM的多表创建(一对一.一对多,多对多): 1模型创建 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等 ...

随机推荐

  1. 修复右键批量打印PDF文件的功能

    bat文件内容如下, 直接右键管理员运行即可. @echo off rem "功能描述:修复右键批量打印PDF文件的功能" rem "制作人:赵龙" rem & ...

  2. c函数调用过程

    一.内存结构内存大致可以分为四个部分:代码段,静态存储区,堆,栈.具体划分如下图所示: 栈:在执行函数时,函数内部局部变量的存储单元都可以在栈上创建,函数执行结束后会自动释放内存.栈内存的分配运算内置 ...

  3. WPF窗体图标设置

    WPF程序在编写结束后,界面没有图标,影响美观性.今天在添加图标的时候,一直报错,然后通过查找资料,将这个问题解决,现在将主要步骤记录如下; 准备好图标文件,注意文件格式应该为ico格式文件.有一个在 ...

  4. laravel常用集合的使用

    创建集合: //数组1 $connection = collect([ ['name'=>'jack','age'=>'18','email'=>'ceshi@qq.com'], [ ...

  5. 【小记】golang_map

    map 前言:map 几个操作实现有点复杂,即便之前看懂了没过多久也就忘了,这里简单做下记录.为了便于记忆,将 mapassign 的全过程以流程图的方式展示,其他省略 mapassign 在流程图中 ...

  6. docker 可视化平台Portainer搭建

    1.部署步骤 docker pull portainer/portainer docker run -d -p 9001:9000 \--restart=always \-v /var/run/doc ...

  7. 空间数据格式(地理数据格式):GeoJSON(FeatureCollection)与EsriJSON(FeatureSet/ArcGIS格式)

    一.FeatureCollection(GeoJSON)格式介绍 https://learn.microsoft.com/en-us/javascript/api/azure-maps-control ...

  8. 区分CommonJs/ES6 Module/AMD/CMD

    模块加载方式 CommonJs ES6 Module AMD CMD UMD Commonjs和ES6 Module的区别 总结 1.CommonJS CommonJS 是一个项目,其目标是为 Jav ...

  9. 02 Spark架构与运行流程

    1. 为什么要引入Yarn和Spark. YARN优势1.YARN的设计减小了JobTracker的资源消耗,并且让监测每一个Job子任务(tasks)状态的程序分布式化了,更安全.更优美. 2.在新 ...

  10. openwrt从gitee pull代码并编译go项目

    安装ssh opkg update # openssh-keygen 可以用来生产密钥 opkg install openssh-keygen # 连接其他服务器 opkg install opens ...