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装饰器decorator介绍
Nov 21 Python
Python实现将xml导入至excel
Nov 20 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
python3解析库lxml的安装与基本使用
Jun 27 Python
Python matplotlib画图与中文设置操作实例分析
Apr 23 Python
Ubuntu18.04下python版本完美切换的解决方法
Jun 14 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
python文字转语音的实例代码分析
Nov 12 Python
Django中modelform组件实例用法总结
Feb 10 Python
Python读取xlsx数据生成图标代码实例
Aug 12 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
基于PyQT5制作一个桌面摸鱼工具
Feb 15 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
漫威DC御用漫画家去世 他的表情包曾走红网络
2020/04/09 欧美动漫
使用PHP模拟HTTP认证
2006/10/09 PHP
用PHP的ob_start();控制您的浏览器cache!
2006/11/25 PHP
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
jquery select 设置默认选中的示例代码
2014/02/07 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
jquery 判断selection range 是否在容器中的简单实例
2016/08/02 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python实现批量下载图片的方法
2015/07/08 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
Python post请求实现代码实例
2020/02/28 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2020/05/13 Python
Python函数参数分类原理详解
2020/05/28 Python
keras 读取多标签图像数据方式
2020/06/12 Python
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
法国发饰品牌:Alexandre De Paris
2018/12/04 全球购物
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
名人演讲稿范文
2013/12/28 职场文书
陈欧广告词
2014/03/14 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
Python绘画好看的星空图
2022/03/17 Python