mysql - Django建模的最佳方式

标签 mysql django modeling eer-model

目前我们是这样工作的:

  1. 使用 MySQL Workbench 创建一个 EER 模型,让至少一个人参与讨论

  2. 从 EER 模型生成表格

  3. ma​​nage.py inspectdb 创建 models.py,仔细编辑 models.py,因为 inspectdb 不能完美运行

  4. 编码(现在我是唯一的编码员)。如果需要更改模型而不是 EER 图,将更新代码

问题是如果图表不同步,现在其他团队成员(现在只有一个)很难讨论进一步的更改。我的意见是讨论可以仅基于代码,这也是某种文档。对我来说,看图表或代码没有太大区别。如果我们需要使文件保持最新,对我来说它看起来像是某种重复。你是怎么做到的?

我们还尝试只保留一个来源,例如代码,所以每次我们使用 syncdb 生成表,然后生成 EER 图时,问题是 MySQL Workbench 的自动布局效果不佳,您总是需要重新排列所有内容。我还发现了一些可以将 UML 图转换为模型的工具,反之亦然,但我怀疑它是否能正常工作,因为我曾经使用过一个 CASE 工具,它可以从 UML 图和文档生成源代码(Java/C++)(例如 Word),但该工具并不易于使用,我遇到了一些问题...我的问题是,是否有一个好的工具可以轻松地保持代码和图表的同步?

最佳答案

如果您只想生成更新的图表以与您的团队合作:

  1. 安装 django-extensions 和 pygraphiz:pip install pygraphviz django-extensions
  2. 将“django_extensions”添加到 INSTALLED_APPS:这将启用 django-extensions 管理命令
  3. 生成图表:./manage.py graph_models -a -g -o my_project_visualized.png

阅读更多关于 graph_model command 的信息.

关于mysql - Django建模的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9361980/

相关文章:

java - WinXP 和 Mac OS X 中的 MySql

php - 如果语句不填充错误数组 php

Mysql ONLY_FULL_GROUP_BY + Join + GroupBy + Count = 无效计数

django - 如何在 Django 中构建推送系统?

python - PyMC 中的负二项式混合

python - 强制 mysqldb dict 游标返回带有表名的所有列名前缀

python - Google App Engine 上的 Django Form 继承

python - Django forms.DateInput 不应用 attrs 字段中给定的属性

diagram - 适用于面向 Action 的Web应用程序,以图形方式表示页面流的最佳方法是什么?

python - 随机森林 - 使空值在决策树中始终有自己的分支