栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Django 配置数据库相关

Django 配置数据库相关

  • 一、在项目的setting.py文件中设置配置mysql数据库
    Django项目创建后,会自动生成一个db.sqlite3,这也是一个数据库,不过它是文件型的。是Django中默认使用的数据库。如果我们需要使用mysql数据库,就要在settings.py文件中的DATAbaseS中配置,如下图:

    因为Django默认的数据库是sqlite3,所以我们更换了mysql数据库后再运行项目,可能会报NO moudle named ’MySQLdb‘这个错误,这时候可以使用命令pip install pymysql手动安装然后导入至项目里。也可以在Django项目中的__ init __.py文件中添加下面的语句,添加后pymsql就会把Django内部的sqlite替换。

    - 二、使用python manage.py migrate创建Django自带的若干数据库
    如果不进行任何操作,直接使用python manage.py migrate命令,可能会报如下错误:
    这是因为Django找不到要创建这些表的数据库,看网上说是直接把数据库的NAME改成sql就行,但建议不要这样改,可以自己先创建一个和setting.py文件中DATAbaseS中数据库名称相同的数据库(使用create database 数据库名称 character set utf8;命令),然后再次执行python manage.py migrate命令,就可以成功创建数据库表了。

    创建后查看数据库中表,有下列数据库表:

  • 三、在app的model.py文件中添加创建数据库表的代码,eg:

”“”
创建StudentInfo类,并且给这个类增加了学生ID、学生姓名等成员属性

相当于创建了一张数据库表StudentInfo,表中有学生ID、学生姓名等字段
“”“
class StudentInfo(models.Model):
    stu_id = models.BigAutoField(primary_key=True, verbose_name="学生ID")
    stu_name = models.CharField(max_length=30, verbose_name="学生姓名")
    stu_faculty = models.CharField(max_length=20, verbose_name="院系")
    stu_major = models.CharField(max_length=30, verbose_name="专业")

然后使用命令行:

python manage.py makemigrations # 记录对models.py本次的改动
python manage.py migrate #

# 如果想要对指定app作用,需要给命令的最后再加上指定app的name
python manage.py makemigrations appname
python manage.py migrate appname

将新建的数据库表迁移至数据库中。

  • 四、关于python manage.py makemigrations 和 python manage.py migrate

    • python manage.py makemigrations:记录对models.py本次的改动,并且将这个改动迁移到migrations这个文件下生成一个文件,例如0001_initial.py文件。这个命令并没有作用到数据库,
    • python manage.py migrate:把python manage.py makemigrations命令中的改动作用到数据库,也就是把migrations里面新改动的迁移文件更新数据库,比如创建数据表,或者增加字段属性。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316122.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号