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读取注册表中值的方法
Apr 08 Python
Python处理XML格式数据的方法详解
Mar 21 Python
windows系统下Python环境搭建教程
Mar 28 Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 Python
Python实现调度算法代码详解
Dec 01 Python
Python 查看文件的读写权限方法
Jan 23 Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 Python
Django 实现xadmin后台菜单改为中文
Nov 15 Python
详解Python中的Lock和Rlock
Jan 26 Python
Jupyter notebook 更改文件打开的默认路径操作
May 21 Python
手把手教你使用TensorFlow2实现RNN
Jul 15 Python
Python find()、rfind()方法及作用
Dec 24 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
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
PHP连接sql server 2005环境配置及问题解决
2014/08/08 PHP
浅谈php自定义错误日志
2015/02/13 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
如何实现JS函数的重载
2006/09/22 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
[01:20:05]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第二场 2月5日
2021/03/11 DOTA
python操作日期和时间的方法
2014/03/11 Python
在Python中调用ggplot的三种方法
2015/04/08 Python
Python实现视频下载功能
2017/03/14 Python
Python实现GUI学生信息管理系统
2020/04/05 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
python scatter函数用法实例详解
2020/02/11 Python
Python3标准库之dbm UNIX键-值数据库问题
2020/03/24 Python
梅西百货官网:Macy’s
2020/08/04 全球购物
杭州龙健科技笔试题.net部分笔试题
2016/01/24 面试题
车间班长岗位职责
2013/11/30 职场文书
硕士生工作推荐信
2014/03/07 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
保送生自荐信
2015/03/06 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书