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赋值语句后逗号的作用分析
Jun 08 Python
Python使用functools模块中的partial函数生成偏函数
Jul 02 Python
python实现随机梯度下降(SGD)
Mar 24 Python
Python切片工具pillow用法示例
Mar 30 Python
对Python3.6 IDLE常用快捷键介绍
Jul 16 Python
python 移动图片到另外一个文件夹的实例
Jan 10 Python
获取Pytorch中间某一层权重或者特征的例子
Aug 17 Python
python 画3维轨迹图并进行比较的实例
Dec 06 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
Python命名空间及作用域原理实例解析
Aug 12 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
Nov 24 Python
python爬虫破解字体加密案例详解
Mar 02 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
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
浅析php header 跳转
2013/06/17 PHP
php简单生成随机数的方法
2015/07/30 PHP
jQuery 图像裁剪插件Jcrop的简单使用
2009/05/22 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
JavaScript实现留言板案例
2020/03/17 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
python删除特定文件的方法
2015/07/30 Python
Python中的命令行参数解析工具之docopt详解
2017/03/27 Python
Python简单读取json文件功能示例
2017/11/30 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
python爬虫请求头设置代码
2020/07/28 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
美国家居装饰店:Pier 1
2019/09/04 全球购物
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
职工趣味运动会方案
2014/02/10 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
幼儿园教师管理制度
2015/08/05 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书