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实战之决策树
Nov 01 Python
浅谈Django REST Framework限速
Dec 12 Python
python 中的list和array的不同之处及转换问题
Mar 13 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
python去除文件中重复的行实例
Jun 29 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
Jun 17 Python
python Django中models进行模糊查询的示例
Jul 18 Python
python字符串拼接+和join的区别详解
Dec 03 Python
理解深度学习之深度学习简介
Apr 14 Python
python opencv通过按键采集图片源码
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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
不用数据库的多用户文件自由上传投票系统(1)
2006/10/09 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
Vue基础学习之项目整合及优化
2019/06/02 Javascript
js实现消灭星星(web简易版)
2020/03/24 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
理解Python中的类与实例
2015/04/27 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
python实现顺序表的简单代码
2018/09/28 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
python多线程抽象编程模型详解
2019/03/20 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
python实现打砖块游戏
2020/02/25 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
澳大利亚优质的家居用品和生活方式公司:Bed Bath N’ Table
2019/04/16 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
向领导表决心的话
2014/03/11 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
网络技术专业求职信
2014/05/02 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
婚育证明样本
2015/06/16 职场文书