为了账号安全,请及时绑定邮箱和手机立即绑定

Django:自动绘制数据模型关系图

标签:
Java Go

前两天需要办理一个项目交接,其中需要给维护人员提供一份数据库的模型关系图。事实上Django代码自身已经充分定义了不同Model之间的关系,我想应该是有通用的工具来执行这一操作的。经过一番Google之后,现将教程列出如下。我用的是macOS系统,至于Linux,方法的思路应该类似的。

安装工具

要实现自动绘制数据模型关系图,我们需要使用django的一个第三方app,名为django_extensions。这个库可以通过pip来安装。安装完成后将其添加到django的INSTALLED_APPS中:

INSTALLED_APPS = (
    ...    'django_extensions',
    ...
)

在开始使用这个库之前,我们还需要安装一个依赖,核心就是这个app绘图需要依赖的工具。

首先通过brew来安装graphviz

$ sudo brew update
$ sudo brew install graphviz

然后安装下面这些用来绘制最终结构图的python包

$ pip install pygraphviz

如果这一安装过程中出现了没有找到graphviz头文件的错误,你可以从官网下载源码,然后手动指定graphviz的路径来安装:

python setup.py install --include-path=... --library-path=...

实在不行的话可以选择Pydot作为绘图的库

$ pip install pyparsing==1.5.7
$ pip install pydot

使用

上述步骤完成后就可以开始绘制数据结构图了:

python manage.py graph_models -a -o models.png

下面的图给出了一个例子:

https://img1.sycdn.imooc.com//5d58b916000170ff09070476.png

数据结构图示例

我之前曾写过一个Django的问卷的Model设计范例。这个范例模型绘制出来的图形局部如下:

https://img1.sycdn.imooc.com//5d58b91a0001057208450881.png

Django问卷的数据模型关系图



作者:治部少辅
链接:https://www.jianshu.com/p/109ae626b732

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消