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在多玩图片上下载妹子图的实现代码
Aug 13 Python
python中使用OpenCV进行人脸检测的例子
Apr 18 Python
python绘图库Matplotlib的安装
Jul 03 Python
网站渗透常用Python小脚本查询同ip网站
May 08 Python
python基于twisted框架编写简单聊天室
Jan 02 Python
Python自动化完成tb喵币任务的操作方法
Oct 30 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
Python FtpLib模块应用操作详解
Dec 12 Python
Python语法垃圾回收机制原理解析
Mar 25 Python
解析python 类方法、对象方法、静态方法
Aug 15 Python
Python中三种花式打印的示例详解
Mar 19 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 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 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
Yii操作数据库的3种方法
2014/03/11 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
php依赖注入知识点详解
2019/09/23 PHP
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
快速入门Vue
2016/12/19 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
Python3基础之条件与循环控制实例解析
2014/08/13 Python
解决Python requests 报错方法集锦
2017/03/19 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
pandas 选择某几列的方法
2018/07/03 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
2018/12/18 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
Python库安装速度过慢解决方案
2020/07/14 Python
详解python内置模块urllib
2020/09/09 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
怎样声明接口
2014/09/19 面试题
药剂专业学生求职信范文
2013/12/28 职场文书
欢迎领导检查标语
2014/06/27 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
信仰纪录片观后感
2015/06/08 职场文书
小学教师教学随笔
2015/08/14 职场文书
Golang全局变量加锁的问题解决
2021/05/08 Golang
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS