另外:mysql -uroot -p2021 -hlocalhost --port 3306 

 

一、在bookmanager的子应用book的model.py中创建模型

from django.db import models

# Create your models here.
"""
1 ORM
表-->类
字段-->属性
2 模型类需要继承自models.Model

3 模型类会自动生成主键
4 属性名=属性类型(选项)
属性名:不要使用关键字,不要使用双下划线__
属性类型:和mysql类型类似
选项:charfield必须设置maxlength
null
unique
default
verbose_name 主要是admin后台显示
"""


"""
书籍表
id,name,pub_date,readcount,commentcount,is_delete
"""
class BookInfo(models.Model):

##属性名=属性类型(选项)
name=models.CharField(max_length=10,unique=True)
pub_date=models.DateField(null=True)
readcount=models.IntegerField(default=0)
commentcount=models.IntegerField(default=0)
is_delete=models.BooleanField(default=False)

def __str__(self):
return self.name

##改表名
class Meta:
db_table='bookinfo'

class PeopleInfo(models.Model):
# 有序列表
GENDER_CHOICES=(
(0,'male'),
(1,'female')
)
name =models.CharField(max_length=20,verbose_name='名称')
gender=models.SmallIntegerField(choices=GENDER_CHOICES,default=0,verbose_name='性别')
description=models.CharField(max_length=200,null=True,verbose_name='描述')

#####外键 主从表3中情况
##### CASCADE\PROTECT\SET_NULL
book=models.ForeignKey(BookInfo,on_delete=models.CASCADE,verbose_name='人物')
is_delete=models.BooleanField(default=False,verbose_name='逻辑删除')

class Meta:
db_table='peopleinfo'
verbose_name='人物信息'

def __str__(self):
return self.name
二、修改数据库引擎
在主项目的setting
中更改引擎,之后要安装pymysql,在命令行中执行 pip install PyMySQL。然后在项目的init.py中前面加上.

 

 

 

 配置数据库信息:

 

 

 

 

三、执行迁移

python manage.py makemigrations

python manage.py migrate