【问题标题】:How to approach Django project starting with database schema?如何从数据库模式开始处理 Django 项目?
【发布时间】:2015-09-16 16:31:39
【问题描述】:

我看到的每一个 Django 教程/书籍都从我将描述为一种临时数据库设计方法的 Django 项目中获得。一个项目最终会变成一堆小应用程序,每个应用程序都有自己的模型、视图等。

我正在尝试找到一个资源,其中涵盖了如何构建 Django 项目,而实际上,从传统的 DB 设计过程开始。

例如,假设这是起点:

还有一份描述它的文件:

LEAD Database Guide

如何解决这个问题,以便各种 Django 应用程序访问一个覆盖整个架构的“全局”(坏词)数据库模型,而不是散布在一堆应用程序中的一堆模型?

是否有任何资源(书籍、pdf、教程)涵盖了这种方法,而不是最常见的零碎方法?

这个问题的一个推论可能是:是否有一种可能是自动化的方法可以从 SQL(或 MySQL Workbench)架构定义到等效的 Django ORM?

【问题讨论】:

  • 你已经有数据库了吗?另外,你确定你不能把你的逻辑分成更小的块吗?更小或更具体的应用程序可帮助您创建更易于维护的代码。如果您创建了数据库,只需使用 inspectdb (docs.djangoproject.com/en/1.8/howto/legacy-databases),您就可以将输出放在模型文件中(如果您想保留大模型,则一个单独的文件)。

标签: python mysql django database


【解决方案1】:

您可以使用 inspectdb 命令从数据库生成 models.py: http://docs.djangoproject.com/en/dev/ref/django-admin/#inspectdb

然后,您可以将模型视为单个应用程序,并在未来将更多功能/表格添加到新应用程序中。

【讨论】:

  • 我会看看这个然后回复你。我记得在某处读到这不是一种理想的方法,而是一种创可贴。在这一点上,我还不够了解,无法发表有效的意见。
  • 这不是一个理想的方法,它是一个起点。它会给你很多你需要的东西,但值得清理生成的模型以遵守 Django 最佳实践。然而,我发现它已经让我走了大约 90% 的路。
猜你喜欢
  • 1970-01-01
  • 2018-05-14
  • 2017-03-05
  • 2023-03-10
  • 1970-01-01
  • 2021-01-20
  • 1970-01-01
  • 1970-01-01
  • 2019-10-28
相关资源
最近更新 更多