美文网首页
django如何连接已存在数据的数据库,并自动生成models类

django如何连接已存在数据的数据库,并自动生成models类

作者: WeiFong | 来源:发表于2020-01-12 01:04 被阅读0次

今天在使用Django 连接数据库时遇到不少问题,网上大多都是从头开始一个新的项目设计model类生成迁移文件,然后进行数据迁移。
最后找了许多资料,发现Django同时也支持和以前遗留的数据库和应用相结合的。

Django的数据库层从Python代码生成SQL schemas。但是对于遗留的数据库,你已经用于SQL schemas,这种情况下你需要为你已经存在的数据库表写模型(为了使用数据库的API),幸运的是,Django自带有通过阅读你的数据库表规划来生成模型代码的辅助工具 manage.py inspectdb

首先修改setting.py文件,将DATABASE 信息配置为你需要连接的数据库

DATABASE = {
  'default':{
    'ENGINE':'django.db.backends.mysql',
    'NAME':'数据库名',
    'HOST':'数据库地址',
    'PORT':端口,
    'USER':'用户名',
    'PASSWORD':'密码',
  }
}

注意事项

  • 由于Django内部链接MySQL数据库的时候默认的是使用MySQLdb的
  • 但是Python3中没有这个模块
  • 所以我们要去修改他的project同名文件夹下的init文件,使用pymysql进行伪装
import pymysql
pymysql.install_as_MySQLdb()

然后呢,我们就需要根据数据库去自动生成新的models文件,导出并且去代替models.py

python manage.py inspectdb > models.py

相关文章

网友评论

      本文标题:django如何连接已存在数据的数据库,并自动生成models类

      本文链接:https://www.haomeiwen.com/subject/rlciactx.html