= 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 [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

mincer example

}}} == 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].