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中cPickle用法例子分享
Jan 03 Python
详解Python各大聊天系统的屏蔽脏话功能原理
Dec 01 Python
Python实现 多进程导入CSV数据到 MySQL
Feb 26 Python
Python操作MongoDB详解及实例
May 18 Python
Python单元测试实例详解
May 25 Python
python画折线图的程序
Jul 26 Python
在Python 的线程中运行协程的方法
Feb 24 Python
python实现udp传输图片功能
Mar 20 Python
使用Keras加载含有自定义层或函数的模型操作
Jun 10 Python
Python GUI库Tkiner使用方法代码示例
Nov 27 Python
使用python求解迷宫问题的三种实现方法
Mar 17 Python
python文件与路径操作神器 pathlib
Apr 01 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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
jquery 事件对象属性小结
2010/04/27 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
JavaScript简单编程实例学习
2020/02/14 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
python多线程编程中的join函数使用心得
2014/09/02 Python
Python调用命令行进度条的方法
2015/05/05 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
倩碧美国官网:Clinique美国
2016/07/20 全球购物
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
《槐乡五月》教学反思
2014/04/25 职场文书
信息管理专业自荐书
2014/06/05 职场文书
小学生环保标语
2014/06/13 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
《别在吃苦的年纪选择安逸》读后感3篇
2019/11/30 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript
Python 如何安装Selenium
2021/05/06 Python
解决numpy和torch数据类型转化的问题
2021/05/23 Python
pandas中DataFrame检测重复值的实现
2021/05/26 Python
深入理解redis中multi与pipeline
2021/06/02 Redis
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle