https://github.com/nick-solly/django-diagram
Generate an Entity Relationship Diagram for a Django project in Mermaid format
https://github.com/nick-solly/django-diagram
django erdiagram mermaid mermaid-charting-language mermaid-diagrams mermaidjs python
Last synced: 4 days ago
JSON representation
Generate an Entity Relationship Diagram for a Django project in Mermaid format
- Host: GitHub
- URL: https://github.com/nick-solly/django-diagram
- Owner: nick-solly
- License: mit
- Created: 2023-02-17T01:49:13.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-04T08:18:01.000Z (almost 2 years ago)
- Last Synced: 2025-09-23T04:23:34.679Z (15 days ago)
- Topics: django, erdiagram, mermaid, mermaid-charting-language, mermaid-diagrams, mermaidjs, python
- Language: Python
- Homepage:
- Size: 44.9 KB
- Stars: 28
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# django-diagram
Generate an Entity Relationship Diagram for a Django project in Mermaid format
## Installation
You can install via pip:
```bash
pip install django-diagram
```## Usage
Navigate to the directory containing your Django project (the folder containing manage.py) and run:
```bash
python -m django_diagram
```The following options are available:
`--settings=project.settings.local` - The dotted path to the settings module
(either this option must be provided or the `DJANGO_SETTINGS_MODULE` environment
variable must be set)`--title="My Title"` - The title to use for the diagram
`--app=app_name` - Restrict to only a particular Django app. If there are
related models outside of this app they will be represented just by a single box
rather than showing all the model attributes (see the example below).`--output=diagram.txt` - The output file to write the mermaid definition,
if this option is not provided the output will be written to stdout### Rendering the diagram
For a list of integrations and plugins that will render the diagram from the
mermaid definition see [the mermaid documentation](https://mermaid.js.org/ecosystem/integrations.html).For example, many [Markdown](https://www.markdownguide.org/basic-syntax/) renderers
(including [GitHub](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-diagrams))
will render the diagram if you wrap the mermaid definition in a code block with the language set to `mermaid`:````
```mermaid
---
Django ER Diagram
---
erDiagram
Doggo {
BigAutoField id
CharField name
}
```
````## Example
