数据库配置 ORM框架
1、安装mysql驱动程序 pip install pymysql
2、__init__.py文件中 添加
import pymysql
pymysql.install_as_MYSQLdb()
使Django的ORM能以mysqldb的方式调用PyMysql
3、修改DATABASE配置信息
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', # 数据库主机 'PORT': 3306, # 数据库端口 'USER': 'root', # 数据库用户名 'PASSWORD': 'mysql', # 数据库用户密码 'NAME': 'django_demo' # 数据库名字 } }
4、在Mysql中创建数据库 create database django_demo default charset=utf8;
一、定义模型类
verbose_name = "名称" ,choices = GENDER_CHOICES 枚举, max_length 最长长度,models.CASCADE 级联 ,default = 默认
modules.py 文件中定义模型类
#定义图书模型类BookInfo class BookInfo(models.Model): btitle = models.CharField(max_length=20, verbose_name='名称') bpub_date = models.DateField(verbose_name='发布日期') bread = models.IntegerField(default=0, verbose_name='阅读量') bcomment = models.IntegerField(default=0, verbose_name='评论量') is_delete = models.BooleanField(default=False, verbose_name='逻辑删除') class Meta: db_table = 'tb_books' # 指明数据库表名 verbose_name = '图书' # 在admin站点中显示的名称 verbose_name_plural = verbose_name # 显示的复数名称 def __str__(self): """定义每个数据对象的显示信息""" return self.btitle #定义英雄模型类HeroInfo class HeroInfo(models.Model): GENDER_CHOICES = ( (0, 'male'), (1, 'female') ) hname = models.CharField(max_length=20, verbose_name='名称') hgender = models.SmallIntegerField(choices=GENDER_CHOICES, default=0, verbose_name='性别') hcomment = models.CharField(max_length=200, null=True, verbose_name='描述信息') hbook = models.ForeignKey(BookInfo, on_delete=models.CASCADE, verbose_name='图书') # 外键 is_delete = models.BooleanField(default=False, verbose_name='逻辑删除')
二、 生成迁移文件
python manage.py makemigrations
同步到数据库
python manage.py migrate
三 、 添加数据
python manage.py shell 新增shell数据工具