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中使用Inotify监控文件实例
Feb 14 Python
Python实现给文件添加内容及得到文件信息的方法
May 28 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
Jun 28 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
Apr 05 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
python中pip的安装与使用教程
Aug 10 Python
解决pycharm无法识别本地site-packages的问题
Oct 13 Python
python实现简易动态时钟
Nov 19 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
基于python实现音乐播放器代码实例
Jul 01 Python
Python如何用re模块实现简易tokenizer
May 02 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
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
举例详解PHP脚本的测试方法
2015/08/05 PHP
php实现分页显示
2015/11/03 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
ext form 表单提交数据的方法小结
2008/08/08 Javascript
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
AJAX在JQuery中的应用详解
2019/01/30 jQuery
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
Python内置函数OCT详解
2016/11/09 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
python实现最长公共子序列
2018/05/22 Python
python cs架构实现简单文件传输
2020/03/20 Python
python实现简易淘宝购物
2019/11/22 Python
Keras loss函数剖析
2020/07/06 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
自我评价范文点评
2013/12/04 职场文书
致全体运动员广播稿
2014/02/01 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript