回顾Django MTV
模型层-负责跟数据库之间进行通信
Django配置mysql
查看Linux系统是否安装相应的包
apt list --installed|grep -E 'libmysqlclient-dev|python3-dev'
如果没有则安装
apt-get install default-libmysqlclient-dev python3-dev
然后执行pip安装MySQL相关的库
pip3 install mysqlclient
查看python环境是否MySQL依赖包
pip3 freeze|grep -i 'mysql'
进入下一步
安装好数据库后执行下一步
第一步:创建数据库
第二步:配置settings.py
配置详解
什么是模型:
1.模型是一个python类,它是由django.db.models.Model派生出子类。
2.一个模型类代表数据库中的一张数据表。
3.模型类中每一个类属性都代表数据库中的一个字段。
4.模型是数据交互的接口,是表示和操作数据库的方法和方式。
ORM框架
定义:
ORM 对象关系映射,它是一种程序技术,它允许你使用类和对象对数据库进行操作,从而避免通过SQL语句操作数据库。
作用:
1.建立模型类和表之间的对应关系,允许我们通过对象的方式来操作数据库。
2.根据设计的模型类生成数据库中的表格。
3.通过简单的配置就可以进行数据库的切换。
优点:
只需要面向对象编程,不需要面向数据库编写代码。
对数据库的操作都转化成对类属性和方法的操作。
不用编写各种数据库的sql语句
实现了数据模型与数据库的解耦,屏蔽了不同数据库操作上的差异。
不在关注用的是某个数据库的内部细节。
通过简单配置就可以轻松更换数据库,而不需要修改代码
缺点:
对复杂业务,使用成本较高。
根据对象的操作转换成SQL语句,根据查询结果转化成对象,在映射过程中有性能损失。
映射图
模型案例:
模型类代码示例:
详解:
数据库迁移:
将模型类的表进行创建,这个过程称为数据库迁移。
迁移是Django同步您对模型所作更改(添加字段,删除模型等)到您的数据库模式的方式。
同步回数据库
迁移前-库是空的
迁移后-库是有表的
创建模型类流程
1、创建应用
2、在应用下的models.py中编写模型类
3、迁移同步 :生成迁移文件-makemigrations & 同步到数据库-migrate
4、任何关于表结构的修改,务必在对应的模型类上修改
案例:
模型类字段类型
更多字段类型详解参考官方文档
再创建一个模型类
在bookstore/models.py 应用中 添加 一个模型类
模型类-字段选项
更多字段详解: 模型字段参考 | Django 文档 | Django
。
Meta类-定义
使用内部Meta类 来给模型赋予属性,Meta类下有很多内建的类属性,可对模型类做一些控制
练习-修改模型类