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 相关文章推荐
Windows系统下安装Python的SSH模块教程
Feb 05 Python
python itchat实现微信好友头像拼接图的示例代码
Aug 14 Python
基于python select.select模块通信的实例讲解
Sep 21 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
Python实现的凯撒密码算法示例
Apr 12 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 Python
详解python中的模块及包导入
Aug 30 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
Apr 27 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
Python数据分析之pandas函数详解
Apr 21 Python
Python使用Kubernetes API访问集群
May 30 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
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
Prototype 学习 Prototype对象
2009/07/12 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
微信公众号H5支付接口调用方法
2019/01/10 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
对python dataframe逻辑取值的方法详解
2019/01/30 Python
python实现大学人员管理系统
2019/10/25 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
外贸销售员求职的自我评价
2013/11/23 职场文书
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
社区庆八一活动方案
2014/02/02 职场文书
公民授权委托书
2014/10/15 职场文书
任命通知范文
2015/04/21 职场文书
Django一小时写出账号密码管理系统
2021/04/29 Python
Python面向对象编程之类的概念
2021/11/01 Python
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python