模型层
负责跟数据库之间进行通信
配置MySQL,下载MySQLclient
创建数据库
进入mysql数据库执行
create database 数据库名 default charset utf8
通常数据库名跟项目名保持一致
settings.py里进行数据库的配置
修改 DATABASES 配置项的内容,由sglite3 变为 mysql
在setting中配置MySQL
ENGINE- 指定数据库存储引擎
'django .db .backends .mysql'
'django.db.backends .sqlite3'
'django.db.backends.oracle'
'django.db.backends.postgresq1'
NAME- 指定要连接的数据库的名称
USER- 指定登录到数据库的用户名
PASSWORD-数据库的密码
HOST/PORT- 连接具体数据库的IP和端口
ORM框架
定义: ORM (Object Relational Mapping)即对象关系映射,它是一种程序技术,它允许你使用类和对象对数据库进行操作,从而避免通过SOL语句操作数据库
作用
1.建立模型类和表之间的对应关系,允许我们通过面向对象的方式来操作数据库
2.根据设计的模型类生成数据库中的表格
3.通过简单的配置就可以进行数据库的切换
优点:
只需要面向对象编程,不需要面向数据库编写代码
对数据库的操作都转化成对类属性和方法的操作不用编写各种数据库的sql语句
实现了数据模型与数据库的解耦,屏蔽了不同数据库操作上的差异
不在关注用的是mysql、oracle...等数据库的内部细节
通过简单的配置就可以轻松更换数据库,而不需要修改代码
模型类代码示例
# file : bookstore/models.py
from django.db import models
class Book(models .Mode]) :
title = models.CharField("书名",max_length=50,default='')
price = models.DecimalField('定价’, max_digits=7, decimal_places=2, default=0.0)
数据库迁移
python manage.py makemigrations #为改动创建迁移记录;
python manage.py migrate #将操作同步到数据库。