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 文件重命名工具代码
Jul 26 Python
python基础教程之获取本机ip数据包示例
Feb 10 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
May 19 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
Feb 08 Python
python在文本开头插入一行的实例
May 02 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
Django 视图层(view)的使用
Nov 09 Python
python 对类的成员函数开启线程的方法
Jan 22 Python
Python实现多进程的四种方式
Feb 22 Python
如何为Python终端提供持久性历史记录
Sep 03 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 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防止sql注入代码实例
2013/12/18 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
javascript 常用方法总结
2009/06/03 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
理解javascript中的闭包
2017/01/11 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
AngularJS实现的锚点楼层跳转功能示例
2018/01/02 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
[01:55]TI9显影之尘系列 - Evil Geniuses
2019/08/22 DOTA
python使用三角迭代计算圆周率PI的方法
2015/03/20 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
意大利咖啡、浓缩咖啡和浓缩咖啡机:illy caffe
2019/03/20 全球购物
介绍一下Make? 为什么使用make
2016/07/31 面试题
医学专业个人求职自荐信格式
2013/09/23 职场文书
初中生个人学习的自我评价
2013/12/04 职场文书
教师评优事迹材料
2014/01/10 职场文书
社区安全检查制度
2014/02/03 职场文书
优良学风班申请材料
2014/02/13 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
导游词之湖州-太湖
2019/10/11 职场文书
十二月早安励志心语大全
2019/12/03 职场文书