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入门之语句(if语句、while语句、for语句)
Jan 19 Python
Python中max函数用法实例分析
Jul 17 Python
Python实现递归遍历文件夹并删除文件
Apr 18 Python
关于Python中Inf与Nan的判断问题详解
Feb 08 Python
python2.7+selenium2实现淘宝滑块自动认证功能
Feb 24 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
Mar 22 Python
python实现推箱子游戏
Mar 25 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
Jun 25 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 Python
python numpy数组复制使用实例解析
Jan 10 Python
Python三维绘图之Matplotlib库的使用方法
Sep 20 Python
Django实现drf搜索过滤和排序过滤
Jun 21 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中jpgraph类库的使用介绍
2013/08/08 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
python3 flask实现文件上传功能
2020/03/20 Python
python3中for循环踩过的坑记录
2020/12/14 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
html5中svg canvas和图片之间相互转化思路代码
2014/01/24 HTML / CSS
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
电子商务自荐书范文
2014/01/04 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
个人委托书范本
2014/04/02 职场文书
大学班级文化建设方案
2014/05/06 职场文书
合作协议书模板2014
2014/09/26 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
团干部培训班心得体会
2016/01/06 职场文书
python中%格式表达式实例用法
2021/06/18 Python
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL