DjangoでモデルからER図を自動生成する

django er-graph
DjangoのModelはデータベースのマイグレーションからフォームの作成まで何でも自動生成してくれるので、もしかしたらER図も作れるのではないかと調べてみたら案の定作れてしまいました。

上の画像(一部抜粋)みたいなモデルのテーブル定義に基づくグラフが簡単に作れてしまいます。

作り方

django-extensionsというDjangoの拡張のgraph_modelsというサブコマンドを使ってER図が作れるみたいです。

django-extensionsのインストール

Macの場合は

brew install Graphviz
pip install pygraphviz
pip install django-extensions

でインストールすることが出来ます。

インストールしたらdjangoのsettings.pyで、

INSTALLED_APPS += (
    'django_extensions',
)

のようにしてextensionsを有効化します。

これで準備完了です。

ER図を作成する

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

これを叩くだけですべてのmodelを読み込んだER図がer.pngに書き出されます。お手軽ですね。appを指定して出力とかも出来るみたいです。

Model設計をレビューしたい時やER図の提出を求められた時に重宝しそうですね。

参考:

Django - Model graphic representation (ERD) - Stackoverflow
http://stackoverflow.com/questions/6776592/django-model-graphic-representation-erd

Sun, 18 Oct 2015 05:56:44 +0000   |   Category:Python

関連記事

About Me

kimihiro-n

Androidアプリを中心にいろいろアプリ作ってます。
T N G

Products

放課後アプリ部
放課後アプリ部
個人アプリ開発者のための集客プラットフォーム作りました。 AndroidやiOSアプリのダウンロード数増加を無料で手伝います!

最速のJSON可視化・解析ツール
JSONを使った開発をスムーズにするためのツールです。 特定の値までのパスを簡単に取れます。
過去に作ったiOSアプリ
明日から本気出すタスク管理 for iOS
過去に作ったAndroidアプリ
明日から本気出すタスク管理 for Android Nagareboshi taplight
Others..

Search Articles