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二分查找算法的递归实现方法
May 12 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
Jul 02 Python
python中range()与xrange()用法分析
Sep 21 Python
python win32 简单操作方法
May 25 Python
python+selenium识别验证码并登录的示例代码
Dec 21 Python
pycharm中成功运行图片的配置教程
Oct 28 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
用pycharm开发django项目示例代码
Jun 13 Python
Python中内建模块collections如何使用
May 27 Python
基于Python实现粒子滤波效果
Dec 01 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
Jan 27 Python
python基础详解之if循环语句
Apr 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
discuz7 phpMysql操作类
2009/06/21 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
php对包含html标签的字符串进行截取的函数分享
2014/06/19 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
培养自己的php编码规范
2015/09/28 PHP
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
Vue实现简单分页器
2018/12/29 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
微信小程序开发打开另一个小程序的实现方法
2020/05/17 Javascript
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
对python:print打印时加u的含义详解
2018/12/15 Python
python 搜索大文件的实例代码
2019/07/08 Python
python3 deque 双向队列创建与使用方法分析
2020/03/24 Python
Python实现自动装机功能案例分析
2020/10/22 Python
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
心得体会范文
2014/01/04 职场文书
竞职演讲稿范文
2014/01/11 职场文书
医学类个人求职信范文
2014/02/05 职场文书
2014年乡镇工作总结
2014/11/21 职场文书
店长岗位职责
2015/02/11 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
Python实现8种常用抽样方法
2021/06/27 Python
Python制作春联的示例代码
2022/01/22 Python
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript