Django项目之mysql数据库连接和表的创建 您所在的位置:网站首页 mysql修改数据表存储引擎名称命令 Django项目之mysql数据库连接和表的创建

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

2023-07-02 07:26| 来源: 网络整理| 查看: 265

数据库连接 首先,确保我们已经生成了一个基本的Django项目文件,目录结构如下: 在这里插入图片描述 具体搭建流程参考链接:https://blog.csdn.net/David_house/article/details/131188889?spm=1001.2014.3001.5502找到项目下的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' } } 打开app目录下的init文件,注意不是migrations里面的init文件,添加如下内容: import pymysql pymysql.install_as_MySQLdb() 表的创建 打开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' 打开终端,进入到 manage.py文件所在的目录下 执行命令python manage.py makemigrations,生成对应模型,执行结果如下:

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有