Django - 模型图形化表示(ERD)

80

我正在寻找一种以图形方式表示我的Django项目模型的方法。

是否有一种“本地”的方法来创建这种 ERD(实体关系图)?


根据@Etienne的指示

这是一个示例,展示了我最终查看的代表我的Django项目中的某些模型的PDF文件。

$ python manage.py graph_models app1 app2 ... | dot -Tpdf | evince
  • 它使用我的应用程序(app1、app2等)生成点数据
  • 将结果传递给dot,以输出为PDF格式
  • 使用evince打开输出

从一个被删除的回答(为什么被删除了?)中看到一个小项目的发展真是太棒了:https://github.com/LegoStormtroopr/django-spaghetti-and-meatballs - Daniel W.
2个回答

105

我将使用django-extension和pygraphviz(当我成功安装它们时 :))。 - Pierre de LESPINAY
1
我刚刚提交了一个pull-request,允许使用PyDot而不是PyGraphViz;这意味着你不需要担心C扩展;) - A T
23
UML不同于ERD。 - LJNielsenDk
2
目前还没有办法在Python3中使用graphviz。 - nerdoc
@nerdoc 你是指这个错误:TypeError: can't use a string pattern on a bytes-like object 吗?这是我在Python3中遇到的。 - RubberDuckRabbit

6

我能想到的最好的选择是 Argo UML,它需要手动设计(然后你可以使用此工具将UML转换为Django)

如果你想进行django-uml转换(另一种方式),可以尝试查看Django To UML


7
您仍然可以使用像Argo这样的工具来创建您的ERD图。无论如何,如果您有更好的选择,请发布您的答案 :) 只是因为我们的答案是解决问题的“hack”,而不是完美的解决方案而进行投票反对有些自以为是。干杯。 - Samuele Mattiuzzo
Argo UML的链接已更改为https://argouml-tigris-org.github.io/tigris/argouml/,我找不到Django到UML文档的更新链接。 - moojen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接