django如何连接已存在数据的数据库

 更新时间:2018年08月14日 11:11:48   作者:冯坤大神  
这篇文章主要给大家介绍了关于django如何连接已存在数据的数据库的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用django具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

你有没有遇到过这种情况?

数据库,各种表结构已经创建好了,甚至连数据都有了,此时,我要用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可以对数据库进行操作

此时,我们再去使models.py和数据库进行同步

python manage.py migrate

这个时候就已经大功告成了!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

相关文章

  • Python中的配对函数zip()解读

    Python中的配对函数zip()解读

    这篇文章主要介绍了Python中的配对函数zip()解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 对pandas通过索引提取dataframe的行方法详解

    对pandas通过索引提取dataframe的行方法详解

    今天小编就为大家分享一篇对pandas通过索引提取dataframe的行方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • OpenCV特征提取与检测之Harris角点检测

    OpenCV特征提取与检测之Harris角点检测

    这篇文章主要给大家介绍了关于OpenCV特征提取与检测之Harris角点检测的相关资料,Harris角点检测的目的是去分辨出图像中的平面、边界以及角点,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • Python模拟登录之滑块验证码的破解(实例代码)

    Python模拟登录之滑块验证码的破解(实例代码)

    这篇文章主要介绍了Python模拟登录之滑块验证码的破解(实例代码),代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • python matplotlib包图像配色方案分享

    python matplotlib包图像配色方案分享

    这篇文章主要介绍了python matplotlib包图像配色方案分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python自动化测试selenium指定截图文件名的方法

    Python自动化测试selenium指定截图文件名的方法

    这篇文章主要介绍了Python自动化测试selenium指定截图文件名方法,Selenium 支持 Web 浏览器的自动化,它提供一套测试函数,用于支持 Web 自动化测试,下文基于python实现指定截图文件名方法,需要的小伙伴可以参考一下
    2025-02-02
  • 使用Django2快速开发Web项目的详细步骤

    使用Django2快速开发Web项目的详细步骤

    这篇文章主要介绍了使用Django2快速开发Web项目的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Python使用xlrd轻松读取Excel文件的示例代码

    Python使用xlrd轻松读取Excel文件的示例代码

    本文主要介绍了使用 Python 的 xlrd 库读取 Excel 文件的方法,包括安装、各种操作如工作表操作、单元格操作、行与列操作、处理不同数据类型、性能优化、结合其他库、自定义处理等,还提到了一些特殊情况的处理及自定义类封装读取逻辑,需要的朋友可以参考下
    2024-11-11
  • pygame仿office的页面切换功能(完整代码)

    pygame仿office的页面切换功能(完整代码)

    本文通过两个版本给大家介绍pygame实现类似office的页面切换功能,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • 如何利用Python获取文本中的电话号码实例代码

    如何利用Python获取文本中的电话号码实例代码

    Python的文本处理是经常碰到的一个问题,下面这篇文章主要给大家介绍了关于如何利用Python获取文本中的电话号码的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09

最新评论