django如何连接已存在数据的数据库


Posted in Python onAugust 14, 2018

你有没有遇到过这种情况?

数据库,各种表结构已经创建好了,甚至连数据都有了,此时,我要用Django管理这个数据库,ORM映射怎么办???

Django是最适合所谓的green-field开发,即从头开始一个新的项目

但是呢,Django也支持和以前遗留的数据库和应用相结合的。

Django的数据库层从Python代码生成SQL schemas。但是对于遗留的数据库,你已经用于SQL schemas,这种情况下你需要为你已经存在的数据库表写模型(为了使用数据库的API),幸运的是,Django自带有通过阅读你的数据库表规划来生成模型代码的辅助工具 manage.py inspectdb

1.Django默认使用的是sqllit数据库?如何使用MySQL数据库?

#修改setting.py文件

DATABASE = {
  'default':{
    'ENGINE':'django.db.backends.mysql',
    'NAME':'数据库名',
    'HOST':'数据库地址',
    'PORT':端口,
    'USER':'用户名',
    'PASSWORD':'密码',
  }
}
#由于Django内部链接MySQL数据库的时候默认的是使用MySQLdb的
#但是Python3中没有这个模块
#所以我们要去修改他的project同名文件夹下的__init__文件

import pymysql
pymysql.install_as_MySQLdb()

然后呢,我们就需要根据数据库去自动生成新的models文件

python manage.py inspectdb  #简单可以看一下自动映射成的models中的内容

导出并且去代替models.py

python manage.py inspectdb > models.py

这样你就会发现在manage.py的同级目录下生成了一个models.py文件

使用这个models.py文件覆盖app中的models文件。

如果完成了以上的操作,生成的是一个不可修改/删除的models,修改meta class中的managed = True则可以去告诉django可以对数据库进行操作

django如何连接已存在数据的数据库

此时,我们再去使models.py和数据库进行同步

python manage.py migrate

这个时候就已经大功告成了!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
从零学python系列之数据处理编程实例(二)
May 22 Python
Python中使用不同编码读写txt文件详解
May 28 Python
通过Python爬虫代理IP快速增加博客阅读量
Dec 14 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
Dec 05 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
selenium2.0中常用的python函数汇总
Aug 05 Python
学习Django知识点分享
Sep 11 Python
python使用正则表达式(Regular Expression)方法超详细
Dec 30 Python
解决Tensorflow sess.run导致的内存溢出问题
Feb 05 Python
python使用opencv resize图像不进行插值的操作
Jul 05 Python
python实现感知机模型的示例
Sep 30 Python
如何利用python正则表达式匹配版本信息
Dec 09 Python
Python requests库用法实例详解
Aug 14 #Python
Python基于SMTP协议实现发送邮件功能详解
Aug 14 #Python
selenium+python实现1688网站验证码图片的截取功能
Aug 14 #Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 #Python
Python延时操作实现方法示例
Aug 14 #Python
详解PyCharm配置Anaconda的艰难心路历程
Aug 13 #Python
python 实现A*算法的示例代码
Aug 13 #Python
You might like
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
原生js实现日期计算器功能
2017/02/17 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
详解A标签中href=""的几种用法
2017/08/20 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
Vue watch响应数据实现方法解析
2020/07/10 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
简单谈谈python基本数据类型
2018/09/26 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
python如何写出表白程序
2020/06/01 Python
keras 多gpu并行运行案例
2020/06/10 Python
Python读取yaml文件的详细教程
2020/07/21 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
中学生个人自我评价
2014/02/06 职场文书
优乐美广告词
2014/03/14 职场文书
党员承诺书内容
2014/03/26 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
拉贝日记观后感
2015/06/05 职场文书