目前我们是这样工作的:
使用 MySQL Workbench 创建一个 EER 模型,让至少一个人参与讨论
从 EER 模型生成表格
manage.py inspectdb 创建 models.py,仔细编辑 models.py,因为 inspectdb 不能完美运行
编码(现在我是唯一的编码员)。如果需要更改模型而不是 EER 图,将更新代码
问题是如果图表不同步,现在其他团队成员(现在只有一个)很难讨论进一步的更改。我的意见是讨论可以仅基于代码,这也是某种文档。对我来说,看图表或代码没有太大区别。如果我们需要使文件保持最新,对我来说它看起来像是某种重复。你是怎么做到的?
我们还尝试只保留一个来源,例如代码,所以每次我们使用 syncdb 生成表,然后生成 EER 图时,问题是 MySQL Workbench 的自动布局效果不佳,您总是需要重新排列所有内容。我还发现了一些可以将 UML 图转换为模型的工具,反之亦然,但我怀疑它是否能正常工作,因为我曾经使用过一个 CASE 工具,它可以从 UML 图和文档生成源代码(Java/C++)(例如 Word),但该工具并不易于使用,我遇到了一些问题...我的问题是,是否有一个好的工具可以轻松地保持代码和图表的同步?
最佳答案
如果您只想生成更新的图表以与您的团队合作:
- 安装 django-extensions 和 pygraphiz:
pip install pygraphviz django-extensions
- 将“django_extensions”添加到 INSTALLED_APPS:这将启用 django-extensions 管理命令
- 生成图表:
./manage.py graph_models -a -g -o my_project_visualized.png
阅读更多关于 graph_model command 的信息.
关于mysql - Django建模的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9361980/