= Converting Django models into Graphviz DOT files =
Inspired by [http://www.hackdiary.com/archives/000093.html this nice hack by Matt Biddulph], this is a Python script that generates a Graphviz DOT file for quick visualizations of Django model definitions.
== Source code ==
[http://unicoders.org/code/django/trunk/utils/modelviz.py View online] or [http://code.unicoders.org/django/trunk/utils/modelviz.py download from Subversion repository] (you could also set it as a svn:external on your repository to keep up to date with the latest revisons.)
=== Checkout ===
{{{
svn co svn://unicoders.org/unicoders/django/trunk/utils/ modelviz
}}}
== Examples ==
=== [http://www.mincer.it/ MC Minerali Ceramici] ===
{{{
#!html
}}}
== Command ==
Once you use this python script to generate the dot file ({{{app.dot}}}), ensure you have {{{dot}}} installed (part of Graphviz), and issue:
{{{
dot app.dot -Tpng -o app.png
}}}
== Other References ==
You might also be interested in [http://www.exit66.com/diagram.zip this Django app by Andrew Barilla ] from which I borrowed some ideas, that displays the graphviz results directly from the web.
[http://code.google.com/p/django-command-extensions/ Django-extensions] (formerly named Django-command-extensions) already provides a command to visualize your models. Using an improved version of the modelviz script. It also includes/supports grouping of your Django applications. Which will group all models of a single app together. This makes larger projects much easier and clearer to view.
Usage:
{{{
# download django-extensions and include it in your app.
$ ./manage.py graph_models -a -g -o my_project.png
}}}
== Feedback ==
Please direct all feedback to [http://cavedoni.com/ Antonio Cavedoni].