このページを正しく表示するにはJavascriptを有効にしてください。
DjangoでモデルからER図を自動生成する
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で、
```python
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