模型层 负责根数据库之间进行通信
Django配置mysql
sudo apt list --installed | grep -E ‘libmysqlclient-dev | python3-dev‘
sudo apt-get install python3-dev default -libmyqlclient-dev
sudo pip3 install mysqlclient
创建数据库
进入MySQL数据库执行 create database 数据库名default charset utf8
settings.py中进行数据库的配置
修改DATABASES配置项的内容
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,# 数据库引擎
‘NAME‘: ‘yun_note‘, # 数据库名称
‘HOST‘: ‘127.0.0.1‘, #连接数据库的地址
‘PORT‘: ‘3306‘, # 连接数据库的端口
‘USER‘: ‘root‘, # 连接数据库的用户名
‘PASSWORD‘: ‘123456‘, # 连接数据库的密码
}
}
创建模型类
django.db.models.Model
派生的子类ORM 框架内
ORM object Relational Mapping 对象映射关系,它是一种程序技术,允许你使用类和对象的方式对数据库操作,避免通过sql语句来操作数据库
作用:
建立模型类和表之间的对应关系,通过面向对象的方式来操作数据库
根据设计的模型类生成数据库中的数据表
通过简单的配置就可以进行数据库类型切换
from django.db import models
# Create your models here.
class users(models.Model):
username = models.CharField(‘用户名‘, max_length=30,unique=True)
password = models.CharField(‘密码‘, max_length=32)
active = models.BooleanField(‘是否启用‘, default=1)
createTime = models.DateTimeField(‘创建时间‘,auto_now_add=True)
upadateTime = models.DateTimeField(‘更新时间‘, auto_now=True)
# 格式化返回对象
def __str__(self):
return ‘username %s ‘%(self.username)
# 数据库 迁移文件生成一个中间文件
python manage.py makemigrations
# 数据库迁 将每个应用下的migrations目录的中间文件同步回数据库
python manage.py migrate
生成的数据库表名默认为`应用名_模型类小写`
模型类基础字段类型
primary_key 设置主键,如果指定字段主键,数据表中不会再自动创建id字段
blank 设置为True时字段可以为空,设置为False时,字段必须填写
null 设置为Treu,表示该列值允许为空,设置false时,建议添加default来设置默认值
default
db_index 设置为True,为该列增加索引
unique,设置为True,该字段在数据库中的值必须是唯一的(不能重复)
db_column 指定列明,若不指定则采用属性名为列明
verbose_name 设置此字段在admin界面上显示名称
Mete内部类 给模型赋予属性,可对模型类做一些控制
from django.db import models
class Book(models.Model):
title = models.CharField("书名",max_length=50,default=‘‘)
class Meta:
db_table = ‘book‘ # 可以改变当前模型类对应数据库的表明
原文:https://www.cnblogs.com/devin-qiu/p/14907934.html