Version 31 (modified by 10 years ago) (diff) | ,
---|
Converting Django models into Graphviz DOT files
Inspired by 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
View online or 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
MC Minerali Ceramici
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 this Django app by Andrew Barilla from which I borrowed some ideas, that displays the graphviz results directly from the web.
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-command-extensions and include it in your app. $ ./manage.py graph_models -a -g -o my_project.png
Feedback
Please direct all feedback to Antonio Cavedoni.
Attachments (12)
-
camera-001.png (12.0 KB) - added by 12 years ago.
PNG version of camera-001.pdf
-
mincer-001.png (30.4 KB) - added by 12 years ago.
PNG version of mincer-001.pdf
-
mincer-modelviz-0.6.png (102.3 KB) - added by 11 years ago.
New modelviz sample image
-
modelviz.py (3.5 KB) - added by 11 years ago.
Updated script off of trunk @ Jun 6 2007
-
modelviz.2.py (3.5 KB) - added by 11 years ago.
Django Trunk GenericRelation Modify
-
modelviz.3.py (5.4 KB) - added by 11 years ago.
added other features.
-
modelviz.4.py (5.6 KB) - added by 11 years ago.
grays out blank=True fields
-
modelviz.5.py (6.3 KB) - added by 10 years ago.
-i, --include_models only include selected models in graph
-
modelviz.6.py (8.1 KB) - added by 10 years ago.
uploaded version from django-command-extensions
-
modelviz_i18n.py (5.9 KB) - added by 10 years ago.
Version with localized verbose_names instead of names
-
modelviz.7.py (6.7 KB) - added by 10 years ago.
Add exclude_models as well as include_models
-
modelviz.8.py (7.5 KB) - added by 9 years ago.
Added support for GeoDjango GeometryColumns and SpatialRefSys (requires fix in r9483)
Download all attachments as: .zip