在Django中创建与数据库的链接并调用数据库的数据是很关键的步骤,那么怎么实现这个过程呢?
下面这篇文章简单梳理了一下创建Model层的过程和应用
模型-Models
首先需要理解什么是模型?
模型,根据数据库中数据表中数据表的结构而创建出来的class
1. 创建和使用模型的方法
1)创建数据库需要到数据库中手动创建 create database …
2) 配置 setting.py中配置
DATABASES ={
‘default’:{
‘ENGINE’:
‘NAME’:},
}
参数的解析:
1. ENGINE: 引擎 django.db.backends.mysql
2. NAME :连接到的数据库名称 web.db
3.USER: 用户名称 ,通常为root
4. PASSWORD: 密码
5. HOST : 连接的主机,本机localhost/127.0.0.1/可以不写
6. PORT :端口,3306
例如下面这张图:
在做数据库集群的时候如果要连接多个数据库,可以在写default后面再添加一个字典类型的key-value对,
key的名称可以自己定义。
2. 如何编写Models
首先需要理解两个概念,实体类和实体
1)实体类
Models中每个class都称之为模型类(Model)或者实体类(Entry)
Models中的每个实体类,必须继承自models.Model(原生类是没有models的操作的)
2)实体:
数据表中的一行记录,就是一个实体。
实体完整性:确保每张表中的数据不能有重复。
主键是为了实现实体完整性的方法之一。
3.Django中提供的数据字段 和 字段选项
这里只写一些比较常用的,更多详细的用法细节可以移步到官网 : www.djangoproject.com
在Documentaiton栏目中相应找到 The model layer
1. 数据字段
1) CharField() 字符串, 属性值max_length必须要写,表明字符串长度,相当于原生MySQL中的char()
2) BooleanField() 布尔值,True或者False
3) DataField() 时间,只有日期,不带时间点,例如:2018-1-1
4) DateTimeField() 时间,带时间点,例如:2018-1-1 12:00:00
5) DecimalField() 带小数点的定点数,可以用于与金融或者数字有关的字段
6) EmailField() Email类型
7) URLField() URL类型,在数据库中会转换为固定长度(200)字符串
8) FileField() 文件类型
9) IntergerField() 整型数
10) FloatField() 浮点数
11) ImageField() 图片,一般在实际应用中存放图片的地址
12) TextField() 文本
2. 字段选项
1) null 是否允许为空,赋值True或者False,例如:name = models.Char(max_length= 10 , null = False)
2) blank 是否为空格
3) choices
4)db_column 属性名,例如:db_column = ' music_name '
5)db_index 索引,为该字段设置索引
6) default 默认值,例如:password = models.Char(max_length= 10 , defalut = '123456')
7) primary_key 主键,值为True/False,默认为False(不设置为主键)