Skip to content
An interactive graph of your Django model structure
Python Vue JavaScript HTML
Branch: master
Clone or download

Latest commit

Latest commit 836541f Apr 6, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Rename GitHub action workflows Feb 20, 2020
assets Make menu grouping clearer with indentation Mar 1, 2020
docs-images Update sidebar screenshot Mar 1, 2020
schema_graph Comment backwards compatibility hack Mar 5, 2020
tests Remove unused calculations Feb 29, 2020
.editorconfig Make sure YAML and Vue files use two-space indent Feb 18, 2020
.flake8 Add some code-checker config files May 5, 2019
.gitignore Expand gitignore Feb 20, 2020
.isort.cfg Add some code-checker config files May 5, 2019
.pre-commit-config.yaml Ignore whitespace issues in the compiled JS Feb 18, 2020
CHANGELOG.md Bump version to 1.2.0 Mar 1, 2020
CONTRIBUTING.md Add contributing guide Mar 17, 2020
LICENSE Create LICENSE Feb 18, 2020
MANIFEST.in Tweak python package build files Feb 19, 2020
README.md Fix typo in instructions Mar 2, 2020
package.json I give up on SVG icons -- the font works fine Feb 22, 2020
requirements.txt Add pre-commit hooks May 26, 2019
run_test_server.py Add test server script Feb 25, 2020
setup.cfg Tweak python package build files Feb 19, 2020
setup.py Add missing trove classifier Mar 9, 2020
tox.ini Run codestyle checks with latest Python Feb 19, 2020
webpack.common.js Add automatic vuetify imports with vuetify-loader Feb 22, 2020
webpack.dev.js Use "prod" for yarn "build", and "dev" for "watch" Feb 18, 2020
webpack.prod.js Use "prod" for yarn "build", and "dev" for "watch" Feb 18, 2020
yarn.lock Bump acorn from 6.4.0 to 6.4.1 Apr 5, 2020

README.md

Django Schema Graph

Django-schema-graph makes a colourful diagram out of your Django models. The diagram is interactive, and makes it easy to toggle models and apps on/off at will.

It looks like this:

Feature Screenshot
Models models screenshot
Apps apps screenshot
Both together models and apps screenshot
Graph editor menu screenshot

(Apologies that the images above don't work on PyPI. Check it out on GitHub.)

Installation

Install from PyPI:

pip install django-schema-graph

Add to INSTALLED_APPS:

INSTALLED_APPS = [
    ...
    'schema_graph',
    ...
]

Add to your URLs.

from schema_graph.views import Schema
urlpatterns += [
    # On Django 2+:
    path("schema/", Schema.as_view()),
    # Or, on Django < 2:
    url(r"^schema/$", Schema.as_view()),
]

Use

Browse to /schema/ (assuming that's where you put it in your URLs).

Note: DEBUG mode is required, on the assumption that you don't want to leak sensitive information about your website outside of local development.

Support

Tests run on sensible combinations of:

  • Python (2.7, 3.5-3.8)
  • Django (1.8, 1.11-3.0)

Alternatives

  • django-spaghetti-and-meatballs is great. At the time of writing, it offers a lot more detailed information on the models in the diagram, but doesn't allow them to be turned on/off in the page.
You can’t perform that action at this time.