= Converting Django models into Graphviz DOT files =
This is a Python script that generates a [http://www.graphviz.org/ Graphviz] DOT file for quick visualizations of Django model definitions.
== Source code ==
The [http://code.google.com/p/django-command-extensions/ Django-extensions] version seems to be most up-to-date. You only need this file, not the whole project:
http://github.com/django-extensions/django-extensions/blob/master/django_extensions/management/modelviz.py
== Examples ==
=== [http://www.mincer.it/ MC Minerali Ceramici] ===
{{{
#!html
}}}
== Command ==
{{{
python modelviz.py myapp myotherapp > app.dot
}}}
For more options, run with `--help`
Once you use this python script to generate the dot file ({{{app.dot}}}), you should be able to open it with [http://www.graphviz.org/ Graphviz]. To convert to a png, 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) 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].