Django使用旧有的数据库

虽然 Django 很适合开发新应用,但也能用它集成旧数据库。Django 包含了一整套套件来尽可能自动处理类似的任务。在配置完Django之后,就可以根据本文操作去集成旧数据库。

1. 使用MySQL数据库
在setting.py中配置mysql数据库连接参数和数据库名称。

 DATABASES = {'default': {# 'ENGINE': 'django.db.backends.sqlite3',# 'NAME': BASE_DIR / 'db.sqlite3',# 修改数据库配置'ENGINE': 'django.db.backends.mysql','NAME': '','USER': '','PASSWORD': '','HOST': '127.0.0.1',}
}
#由于Django内部链接MySQL数据库的时候默认的是使用MySQLdb的
#但是Python3中没有这个模块
#所以我们要去修改project同名文件夹下的__init__.py文件
import pymysqlpymysql.install_as_MySQLdb()

2. 自动生成这些模型
Django 自带一个叫做 inspectdb 的工具,它可以通过内省已存在的数据库创建对应模型。你能通过运行以下命令看到输出:

 $ python manage.py inspectdb

通过标准 Unix 输出重定向将其保存为文件:

$ python manage.py inspectdb > models.py

该功能仅是一个快捷方式,不是最佳的创建模型的方法。参考 inspectdb 文档 获取更多信息。

只要你整理完这些模型,就可以将文件重命名为 models.py 并将其放入持有应用的 Python 包中。随后,将应用添加至 INSTALLED_APPS配置。

默认情况下, inspectdb 创建未托管的模型。也就是说,模型的 Meta类中的 managed = False 告诉 Django 不要管理这些表的创建,修改和删除:

# Create your models here.
class User(models.Model):username = models.CharField(max_length=16, unique=True, verbose_name='username', primary_key=True)password = models.CharField(max_length=16, verbose_name='password')name = models.CharField(max_length=10, verbose_name='name')sex = models.CharField(max_length=5, verbose_name='sex')privilege = models.IntegerField(verbose_name='privilege')remarks = models.CharField(max_length=255, verbose_name='remarks')def __unicode__(self):return self.username, self.password, self.name, self.sex, self.privilege, self.remarks

若你的确想要允许 Django 管理这些表格的生命周期,你需要将上面的 managed 选项的值改为 True (或者直接删掉它,因为 True 是默认值)。
3. 安装核心Django表
然后,运行 migrate 命令安装所有额外需要的数据库记录,使models.py和数据库进行同步,像是后台权限和内容类型:

 $ python manage.py migrate

这样,你就能调整 Django 生成的模型,直到他们达到你的要求。

Django使用旧有的数据库相关推荐

  1. echarts导入mysql数据库_Echarts最新:Django中从mysql数据库中获取数据传到echarts方式_爱安网 LoveAn.com...

    关于"Echarts"的最新内容 聚合阅读 这篇文章主要介绍了基于vue+echarts 数据可视化大屏展示的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随 ...

  2. Django框架连接MySQL数据库

    pymysql安装 pymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysql pip install pymysql 在主项目的文件中设置连接 在项目 ...

  3. Django开发基础----操作数据库

    Django中对数据库的操作是由Models来完成的 Models是什么? 通常,一个Model对应数据库的一张数据表 Django中Models以类的形式出现 它包含了一些基本字段以及数据的一些行为 ...

  4. 关于django新版本无法使用MySQL数据库的问题

    关于django新版本无法使用MySQL数据库的问题 参考这里 稍微记录下Django2.2使用MariaDB和MySQL遇到的坑 现在演示一下整个流程吧 1.创建项目和应用 PS:你也可以使用PyC ...

  5. django使用mysql原始语句,Django中使用mysql数据库并使用原生sql语句操作

    Django自身默认使用sqlite3这个轻量级的数据库,但是当我们开发网站时,sqlite3就没有mysql好,sqlite3适合一些手机上开发使用的数据库. 准备的软件 mysql数据库,版本5. ...

  6. 循序渐进Python3(十二) --2--  web框架之django简单实现oracle数据库操作

    在 Django 中构建 Oracle 数据库支持的 Web 应用程序 了解如何配置 Django 以便与 Oracle 数据库交互,并使用 ORM 进行数据库连接.             产能在软 ...

  7. HelloDjango 第 04 篇:Django 迁移、操作数据库

    文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们已经编写了博客数据库模型的代码,但那还只是 Python 代码而已,django 还没有把它翻译成数据库语言,因此实际上这 ...

  8. Django适配达梦数据库

    目录 一.Django 概述 二.开发步骤 1. 实现效果 2. 编译安装驱动源码库 dmPython 和 django_dmPython 3. 手动创建 Django 项目 4. PyCharm 创 ...

  9. Django 使用QSL server数据库

    1.Django:安装及学习官网https://docs.djangoproject.com/en/2.1/ 2.使用数据库:(SQL server2012) Django使用SQL server数据 ...

最新文章

  1. ArrayList的内存泄露
  2. 都 2020 年了,这些 OKR 的坑你还要踩吗?
  3. 程序员的职业素养(读书笔记)-- 第一章
  4. 三种Target Encoding方式总结
  5. 阿里打造全球首个纯机器人送货高校,22个物流机器人进入浙大备战双11
  6. Servlet使用适配器模式进行增删改查案例(jdbc.properties)
  7. 【设计模式】适配器模式 Adapter Pattern
  8. python selenium 元素定位总结(转载)
  9. react你问我答系列之——就是逼逼
  10. 前期易语言编程作品收录|赤壁盗号|
  11. android 面包屑控件,Android —— 面包屑控件(BreadcrumbTreeView)
  12. 服务器的组件中支持冗余的包括,服务器冗余电源的作用
  13. python函数找钱_找钱问题–动态规划一例
  14. W3C 标准 较详细
  15. 电脑怎么提取图片中的文字?
  16. 钱多多第二阶段冲刺04
  17. liunx常驻运行项目命令
  18. excel2013导入SQL
  19. MySQL中的字段约束条件
  20. 把悲伤留给自己,仅仅只留给自己……

热门文章

  1. 史上最全网络安全面试题总结
  2. Linux系统下,下载谷歌浏览器
  3. 第一个HTML页面如何写?—零基础自学网页制作
  4. linux下Nginx的卸载、安装
  5. 教你搭建个人/企业私有云盘-seafile
  6. 事件分发(二)ViewGroup和View对触摸事件的分发流程
  7. js 事件(绑定、解绑、三个阶段、相关方法)
  8. 对BeanCopier拷贝对象中List类型属性的思考
  9. Nomad 服务编排
  10. Linux结构体变量报错,C语言中的结构体