11-数据库模型配置和迁移

发布时间 2023-03-28 18:37:36作者: 测试圈的彭于晏

1. 数据库配置

# 1. 安装mysql数据库驱动 mysqlclient
      pip install mysqlclient  
      # 如果安装失败就手动下载:  https://www.lfd.uci.edu/~gohlke/pythonlibs/
          # 黑窗口 python 查看python版本 和支持的 win
          # 下载对应的 cp(版本)  和 win
          # 放置项目根目录 (pip install 文件名) 进行安装
      
 
# 2. 在项目的seyyings.py中配置DATABASES配置项
      DATABASES = {
      'default': {
          'ENGINE': 'django.db.backends.mysql',
          'NAME': 'play',  # 数据库名称
          'HOST': '127.0.0.1',  # ip地址
          'PORT': 3306,  # 端口号
          'USER': "root",  # 用户名
          "PASSWORD": "root",  # 密码
    }
}

2. 创建模型类

# 只要模型和数据库的表能对上,不需要迁移也可使用

    class User(models.Model):
      # 字段名: 不能是Python关键字;不能使用连续下划线
      # db_column: 数据库表中的字段名称
      uid = models.AutoField(primary_key=True, db_column='uid')  # primary_key=True 主键自增长
      # CharField 必须指定长度: max_length
      username = models.CharField(max_length=30, unique=True)  # unique=True 不能重名
      password = models.CharField(max_length=128)
      regtime = models.DateTimeField(auto_now_add=True)  # auto_now_add=True 创建的时间

      class Meta:  # 元数据,模型本身的信息
          # 默认表名: 应用名_模型名
          db_table = "user"  # 指定表名
          ordering = ["username"] # 排序

'''
数据库迁移指令
python manage.py makemigrations
python manage.py migrate

反向迁移
python manage.py inspectdb > App/models1.py
'''