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操作列表的常用方法分享
Feb 13 Python
Python使用PIL库实现验证码图片的方法
Mar 11 Python
Python利用flask sqlalchemy实现分页效果
Aug 02 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
Aug 30 Python
Python 通配符删除文件的实例
Apr 24 Python
Python面向对象程序设计类的封装与继承用法示例
Apr 12 Python
python输入多行字符串的方法总结
Jul 02 Python
详解Python图像处理库Pillow常用使用方法
Sep 02 Python
Python matplotlib可视化实例解析
Jun 01 Python
python和node.js生成当前时间戳的示例
Sep 29 Python
基于Python实现粒子滤波效果
Dec 01 Python
pytorch 中nn.Dropout的使用说明
May 20 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文件下载类
2006/12/06 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
js导出格式化的excel 实例方法
2013/07/17 Javascript
JavaScript获取网页中第一个图片id的方法
2015/04/03 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
深入理解Webpack 中路径的配置
2017/06/17 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
javascript流程控制语句集合
2017/09/18 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
详解vue高级特性
2020/06/09 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
Python中使用Inotify监控文件实例
2015/02/14 Python
在Python中处理XML的教程
2015/04/29 Python
python英语单词测试小程序代码实例
2019/09/09 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
data:image data url 文件转为Blob上传后端的方法
2019/07/16 HTML / CSS
波兰购物网站:MALL.PL
2019/05/01 全球购物
公务员职务工作的自我评价
2013/11/01 职场文书
工艺员岗位职责
2014/02/11 职场文书
严以用权学习心得体会
2016/01/12 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书