Python(Web时代)—— Django操作现有数据库表

本文介绍了如何在Django项目中使用inspectdb命令反向映射已有的Mysql数据库表结构到models.py文件,包括设置数据库连接、生成模型文件以及管理特定表的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mysql操作

前言

在实际开发过程中,我们经常会遇到数据库表已经建立好了,现在只需要开发项目功能,操作已有数据库表的情况。

Django为我们提供了inspecdb的方法。他的作用即是对已经存在的数据库表来反向映射结构到models.py中.

操作

第一步: 先建立数据库连接

在项目的 settings.py文件中配置mysql的连接信息

再修改__init__.py

注:pymysql.version_info = (1, 4, 3, "final", 0)  如果数据迁移时没报错,此条命令可不加

图片

第二步: 采用 inspectdb 命令反向映射

python manage.py inspectdb > models.py

图片

执行完后,在manage.py文件的下面会出现一个models.py文件,里面包含了已有数据库的所有表及结构

图片

第三步: 使用模型,把要使用的模型中的 managed修改成True(False表示在迁移时候不新建此表),然后复制到自己的应用目录下即可

生成models文件后,里面最好只保留自己定义的表结构,其余系统自带的都可以删除掉,防止后续出现奇怪的错误

举例:比如要使用 student表,修改managed=True后,复制内容到自己应用的models.py文件中

图片

把需要的内容复制完后,就可以删除掉自动生成的这个models.py 文件

如果只想单独生成某个指定的表模型也是可以的,比如我现在只想生成Student表

python manage.py inspectdb student

图片

然后将模型类复制到自己的应用下,修改 managed的值为 True即可

程序猿与投资生活实录已改名为  程序猿知秋,WX 公众号同款,欢迎关注!! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值