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求crc32值的方法
Oct 05 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
May 04 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
python web框架 django wsgi原理解析
Aug 20 Python
详解Python3定时器任务代码
Sep 23 Python
Python hashlib模块实例使用详解
Dec 24 Python
pytorch 求网络模型参数实例
Dec 30 Python
Python实现http接口自动化测试的示例代码
Oct 09 Python
用python制作个视频下载器
Feb 01 Python
python爬虫scrapy框架的梨视频案例解析
Feb 20 Python
pytorch 中forward 的用法与解释说明
Feb 26 Python
Python数据处理的三个实用技巧分享
Apr 01 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 4.2书写安全的脚本
2006/10/09 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
纯CSS3实现质感细腻丝滑按钮
2021/03/09 HTML / CSS
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
Div自动滚动到末尾的代码
2008/10/26 Javascript
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
jquery请求servlet实现ajax异步请求的示例
2017/06/03 jQuery
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
详解在Python程序中解析并修改XML内容的方法
2015/11/16 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
网络教育自我鉴定
2013/11/01 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
国旗下的演讲稿
2014/05/08 职场文书
党的群众路线教育实践活动整改落实情况自查报告
2014/10/28 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python