Django项目之mysql数据库连接和表的创建

数据库连接

  1. 首先,确保我们已经生成了一个基本的Django项目文件,目录结构如下:
    在这里插入图片描述
    具体搭建流程参考链接:https://blog.csdn.net/David_house/article/details/131188889?spm=1001.2014.3001.5502
  2. 找到项目下的settings文件,打开,修改相关内容
  • 添加应用名称(我这里的应用名称为app,我在最后一行加入了app)
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app'
]
  • 修改数据库连接信息
    我这里用的是mysql数据库, 'NAME’后面是你要用的数据库名称
DATABASES = {
    
    
    'default':
    {
    
    
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dfds',
        'HOST':'127.0.0.1',
        'PORT':3306,
        'USER':'root',
        'PASSWORD':'123456'
    }
}
  1. 打开app目录下的init文件,注意不是migrations里面的init文件,添加如下内容:
import pymysql
pymysql.install_as_MySQLdb()

表的创建

  1. 打开models.py文件,添加你要创建的表的信息,比如,我这里要创建三张表,具体内容如下:
# Create your models here.
class Users(models.Model):
	#前面的变量名会默认生成为表中的列名,如果想单独设置可以通过属性db_column=''
	#当使用CharField时,一定要通过max_length来设置一下最大长度
    id=models.AutoField('用户id',primary_key=True)  #primary_key为True时表示该列是主键
    email=models.CharField('用户邮箱',max_length=50,null=False) #null=False表示不为空
    password = models.CharField('用户登录密码',max_length=8,null=False)
    class Meta:
        db_table='user'  #设置对应的表名

class Test(models.Model):
    sample_id = models.AutoField('数据唯一标识符', primary_key=True)
    classification = models.IntegerField('分类类别', null=False)
    features = models.CharField('特征',max_length=1000)
    #ForeignKey来指定外键,第一个参数是关联的表,第二个参数是表连接的方式
    u_id = models.ForeignKey(Users, on_delete=models.CASCADE)
    class Meta:
        db_table = 'test'

class getModel(models.Model):
    m_id = models.AutoField('模型的唯一标识符', primary_key=True)
    model = models.CharField('模型文件保存路径',max_length=1000, null=False)
    sample_id = models.ForeignKey(Test,on_delete=models.CASCADE)
    class Meta:
        db_table = 'model'
  1. 打开终端,进入到 manage.py文件所在的目录下
    执行命令python manage.py makemigrations,生成对应模型,执行结果如下:

在这里插入图片描述
3. 执行命令 python manage.py migrate,生成对应的数据表,执行结果如下:
在这里插入图片描述
最后,我们去数据库里查看,发现表格自动生成了:
最后三个表是我们自己设计的,其他的是Django项目运行的时候自己需要的数据表
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/David_house/article/details/131385460