Django将默认的SQLite更换为MySQL的实现


Posted in Python onNovember 18, 2019

1、注释默认的SQLite3配置:

blogproject/settings.py
'''
DATABASES = {
 'default': {
  'ENGINE': 'django.db.backends.sqlite3',
  'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
 }
}
'''

2、添加MySQL配置(配置你自己的mysql库前提是你已经有能够供自己使用的MySQL库了)

DATABASES = {
 'default': {
  'ENGINE': 'django.db.backends.mysql', #固定配置
  'HOST': '127.0.0.1',#mysql地址
  'PORT': '3306',#端口号
  'NAME': 'guest',#库名(组名)
  'USER': 'root',#用户
  'PASSWORD': '123456',#密码
  'OPTIONS': {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", },
 }
}

迁移数据库

为了让 Django 完成翻译,使用我们在modele.py已经创建好的这些数据库表,我们请出我的工程管理助手 manage.py。激活虚拟环境,切换到 manage.py 文件所在的目录下,分别运行 python manage.py makemigrations和 python manage.py migrate命令:

PS D:\xuexi\python\\django2\blogproject> python manage.py makemigrations
Migrations for 'blog':
 blog\migrations\0001_initial.py:
 - Create model Category
 - Create model Post
 - Create model Tag
 - Add field tags to post
PS D:\xuexi\python\web接口开发\django2\blogproject> python manage.py migrate
Operations to perform:
 Apply all migrations: admin, auth, blog, contenttypes, sessions
Running migrations:
 Applying contenttypes.0001_initial... OK
 Applying auth.0001_initial... OK
 Applying admin.0001_initial... OK
 Applying admin.0002_logentry_remove_auto_add... OK
 Applying contenttypes.0002_remove_content_type_name... OK
 Applying auth.0002_alter_permission_name_max_length... OK
 Applying auth.0003_alter_user_email_max_length... OK
 Applying auth.0004_alter_user_username_opts... OK
 Applying auth.0005_alter_user_last_login_null... OK
 Applying auth.0006_require_contenttypes_0002... OK
 Applying auth.0007_alter_validators_add_error_messages... OK
 Applying auth.0008_alter_user_username_max_length... OK
 Applying blog.0001_initial... OK
 Applying sessions.0001_initial... OK

仅供参考你的数量可能没有这么多

当我们执行了 python manage.py makemigrations后,Django 在 blog 应用的 migrations\ 目录下生成了一个 0001_initial.py文件,这个文件是 Django 用来记录我们对模型做了哪些修改的文件。目前来说,我们在 models.py 文件里创建了 3 个模型类,Django 把这些变化记录在了 0001_initial.py里。

不过此时还只是告诉了 Django 我们做了哪些改变,为了让 Django 真正地为我们创建数据库表,接下来又执行了 python manage.py migrate命令。Django 通过检测应用中 migrations\ 目录下的文件,得知我们对数据库做了哪些操作,然后它把这些操作翻译成数据库操作语言,从而把这些操作作用于真正的数据库。

如果你使用的是mysql会生成0001_auto_20180507_2145.py

如果你需要在mysql和SQLite3之间切换你需要重新执行python manage.py makemigrations和 python manage.py migrate命令,而且你原来库中的数据不会转移(执行完上面两个命令只会在新的数据库中创建modele.py中的表)。

以上这篇Django将默认的SQLite更换为MySQL的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
零基础写python爬虫之爬虫的定义及URL构成
Nov 04 Python
Python中的包和模块实例
Nov 22 Python
在Python中操作文件之seek()方法的使用教程
May 24 Python
Python将阿拉伯数字转换为罗马数字的方法
Jul 10 Python
python实现对excel进行数据剔除操作实例
Dec 07 Python
python机器学习之决策树分类详解
Dec 20 Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 Python
基于Python实现扑克牌面试题
Dec 11 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
解决Python 函数声明先后顺序出现的问题
Sep 02 Python
python实现测试工具(二)——简单的ui测试工具
Oct 19 Python
python 经纬度求两点距离、三点面积操作
Jun 03 Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 #Python
详解Django配置优化方法
Nov 18 #Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 #Python
基于python操作ES实例详解
Nov 16 #Python
Python爬取豆瓣视频信息代码实例
Nov 16 #Python
Pandas数据离散化原理及实例解析
Nov 16 #Python
python实现XML解析的方法解析
Nov 16 #Python
You might like
PHP 面向对象实现代码
2009/11/11 PHP
基于php中使用excel的简单介绍
2013/08/02 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
Python 字符串操作方法大全
2014/03/11 Python
理解Python中的With语句
2015/02/02 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
python函数的万能参数传参详解
2019/07/26 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
平面设计岗位职责
2013/12/14 职场文书