|Version 36 (modified by 4 years ago) (diff),|
Converting Django models into Graphviz DOT files
This is a Python script that generates a Graphviz DOT file for quick visualizations of Django model definitions.
The Django-extensions version seems to be most up-to-date. You only need this file, not the whole project:
python modelviz.py myapp myotherapp > app.dot
For more options, run with
Once you use this python script to generate the dot file (
app.dot), you should be able to open it with Graphviz. To convert to a png, ensure you have
dot installed (part of Graphviz), and issue:
dot app.dot -Tpng -o app.png
You might also be interested in this Django app by Andrew Barilla from which I borrowed some ideas, that displays the graphviz results directly from the web.
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.
# download django-extensions and include it in your app. $ ./manage.py graph_models -a -g -o my_project.png
Please direct all feedback to Antonio Cavedoni.
camera-001.png (12.0 KB) - added by 10 years ago.
PNG version of camera-001.pdf
mincer-001.png (30.4 KB) - added by 10 years ago.
PNG version of mincer-001.pdf
mincer-modelviz-0.6.png (102.3 KB) - added by 10 years ago.
New modelviz sample image
modelviz.py (3.5 KB) - added by 10 years ago.
Updated script off of trunk @ Jun 6 2007
modelviz.2.py (3.5 KB) - added by 10 years ago.
Django Trunk GenericRelation Modify
modelviz.3.py (5.4 KB) - added by 10 years ago.
added other features.
modelviz.4.py (5.6 KB) - added by 10 years ago.
grays out blank=True fields
modelviz.5.py (6.3 KB) - added by 9 years ago.
-i, --include_models only include selected models in graph
modelviz.6.py (8.1 KB) - added by 9 years ago.
uploaded version from django-command-extensions
modelviz_i18n.py (5.9 KB) - added by 9 years ago.
Version with localized verbose_names instead of names
modelviz.7.py (6.7 KB) - added by 9 years ago.
Add exclude_models as well as include_models
- modelviz.8.py (7.5 KB) - added by 8 years ago.
Download all attachments as: .zip