利用模型类自动创建mysql数据库表。
一、先配置settings.py下的DATAbaseS数据库# 配置数据库mysql DATAbaseS = { 'default': { # 要全部大写 'ENGINE': 'django.db.backends.mysql', # 指定使用的数据库 'HOST': '127.0.0.1', # 本地的ip 'PORT':'3306', # 端口号 'USER':'root', # mysql数据库用户名 'PASSWORD':'root',# mysql数据库密码 'NAME': 'dj11', # 指定数据库名 } }二、在models.py下创建图书类BookInfo(models.Model)
from django.db import models # 这个就是模型的模块 # 模型类 和数据库相关的 # Create your models here. """" class ORM 对象-关系 映射 1.模型类 class 对应着我们的数据库中的(mysql)表名 2. 属性 对应着我们的数据库中的字段 类型 3.对象 对应着数据中的这个表名字 """ # 图书类 class BookInfo(models.Model): # 定义属性 # 属性名 = 属性类型(选项) # id 这个字段是不需要自己去定义的 # 书名 name = models.CharField(max_length=10) # 发布日期 verbose_name 属性名 null 是否允许为空的 pub_date = models.DateField(verbose_name='发布日期',null=True) # 阅读量 default 一个默认值 readcount = models.IntegerField(default=0,verbose_name='阅读量') # 评论量 commentcount = models.IntegerField(default=0,verbose_name='评论量') # 逻辑删除 is_delete = models.BooleanField(default=False,verbose_name='逻辑删除') def __str__(self): return self.name # meta 这个是我们继承自模型 要注意不要写错误类名 # 这这个类可以给我们提供指定数据库中的表名,admin 中显示这个类名 已复数的形式显示 class meta: db_table = 'bookinfo' # 这个是指定表名的 verbose_name = '图书' # 在admin中显示的名称 verbose_name_plural = verbose_name # 显示的复数名称2.1.创建人物类PeopleInfo(models.Model)和上述图书类BookInfo(models.Model)关联
# 人物表 # 把人物和图书关联起来 class PeopleInfo(models.Model): # CHOICES_CHOICES = ( (0, 'male'), (1, 'female') ) name = models.CharField(verbose_name='名称',max_length=20) # 性别 gender = models.SmallIntegerField(choices=CHOICES_CHOICES,default=0,verbose_name='性别') # 描述信息 description = models.CharField(max_length=200,null=True,verbose_name='描述信息') # on_delete 关联中的删除数据表的时候不至于删除掉这个表中的数据 # models.CASCADE book = models.ForeignKey('BookInfo',on_delete=models.CASCADE,verbose_name='图书') # 逻辑删除 is_delete = models.BooleanField(default=False, verbose_name='逻辑删除') def __str__(self): return self.name class meta: db_table = 'peopleinfo' #表名 verbose_name = '人物信息' verbose_name_plural = verbose_name三、配置项目下__init__.py
import pymysql # pymysql.version_info = (1,4,13,"final",0) # 设置版本 pymysql.install_as_MySQLdb() # 使用mysql四、导入项目所需的mysql库
命令行下:pip install pymysql
五、运行migrates生成迁移数据库,并创建表 5.1 先命令行下创建数据库:create database dj11;#dj11为数据库名。 5.2 在pycharm命令行下运行:python manage.py makemigrations生成迁移文件再次在pycharm命令行下运行:python manage.py migrate生成数据表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)