首页 > 解决方案 > 我在多大程度上可以依赖 django 的 inspectdb 命令来使用大型遗留 MySQL 数据库?

问题描述

我需要制作一个网站门户,用于根据我大学图书馆的活动生成报告。为此,我得到了一个包含 200 多个表的大型数据库。

由于我在 django 上做过网站开发,所以我希望能够使用它。现在,由于我已经有一个遗留数据库,我想到了使用 django 的 inspectdb 命令根据数据库自动生成模型。

python manage.py inspectdb > portal/models.py

这为我生成了模型。我想知道,我能在多大程度上依赖这些模型。我的数据库中有多个 OneToOne 关系,但 django 只是将它们设置为 ForeignKeys。生成的模型中会不会有更多这样的错误?由于表的数量很大,我很难将每个表都逐一检查并检查相应的模型。

如果这样生成的模型不可信,我希望使用简单的 python 和连接字符串将 MySQL 连接到 python 来创建一个网站。这使我可以访问数据库,尽管我不确定如何在不使用框架的情况下创建网站以及如何将首页集成到网站。

标签: pythonmysqldjangoinspectdb

解决方案


最好检查所有已知错误的错误跟踪器。

您提到的问题已经(最近)在即将发布的版本中得到修复:https ://code.djangoproject.com/ticket/30388

使 inspectdb 生成 OneToOneFields 而不是 ForeignKey(unique/primary_key=True)。


推荐阅读