[PYTHON] Generieren Sie automatisch ein Modellbeziehungsdiagramm mit Django

Überblick

Eine persönliche Zusammenfassung, wie Modellbeziehungsdiagramme mithilfe von graph_models in Django-Erweiterungen automatisch generiert werden. Die Prozedur besteht darin, im Docker-Container und nicht in der Umgebung auszuführen.

Vorbereitung

Installation etc.

Installieren Sie die erforderlichen Pakete.

pip install pygraphviz
pip install pydotplus
pip install django-extensions

Beachten Sie, dass Sie das VC-Build-Tool installieren müssen, wenn Sie versuchen, pygraphviz in der Windows-Umgebung zu installieren.

Wenn Sie dies in einem Docker-Container tun, sind die folgenden Arbeiten erforderlich. Installieren Sie graphviz.

apt-get install -y graphviz

Wenn Sie auf Japanisch ausgeben möchten, installieren Sie die japanische Schriftart. Bereiten Sie die TTC-Datei entsprechend aus Windows usw. vor. Es ist einfach, es in die Docker-Datei zu legen.

$ cp meiryob.ttc /usr/share/fonts
$ fc-cache -fv

Andere

Wenn Sie dem Modell selbst oder dem Feld im Voraus einen ausführlichen Namen geben, können Sie diesen Namen im Modelldiagramm verwenden.

Befehl

python3 manage.py graph_models -g -o <Ausgabenname> .png --verbose-names --disable-abstract-fields <Anwendungsname>

Ich konnte kein JPG in meiner Umgebung ausgeben, aber kann ich es wirklich tun? Außerdem ist "--verbose-names" eine Option, um verbose-name zu verwenden, und "--disable-abstract-fields" ist eine Option, um die geerbten Felder nicht einzuschließen. Es gibt viele andere Optionen, z. B. "--exclude-models", um unerwünschte Modelle auszuschließen.

Referenz

PDF ER-Diagramm von Models.py mit Django

Recommended Posts

Generieren Sie automatisch ein Modellbeziehungsdiagramm mit Django
Linke äußere Verbindung im Django-Modell
Generieren Sie automatisch Objektspezifikationen mit Blue Prism
Django-Modell: ManyToManyField
Internationalisierung mit Django
CRUD mit Django
Versuchen Sie, Python-Dokumente automatisch mit Sphinx zu generieren
So generieren Sie automatisch ein API-Dokument mit dem Django REST-Framework und POST vom Dokumentbildschirm
Authentifizieren Sie Google mit Django
Django 1.11 wurde mit Python3.6 gestartet
Laden Sie Dateien mit Django hoch
Entwicklungsverdauung mit Django
PDF mit Django ausgeben
Markdown-Ausgabe mit Django
Verwenden Sie Gentelella mit Django
Erste Schritte mit Django 1
Modellbefestigung mit lmfit
Mail mit Django senden
Modelländerungen in Django
Hochleistungs-Django - Modell
Datei-Upload mit Django
Regression mit einem linearen Modell
Erstellen Sie mit Django dynamisch Tabellen im Schema und generieren Sie dynamisch Modelle
Verwenden Sie WENIGER mit Django
Pooling mechanisieren mit Django
Verwenden Sie MySQL mit Django
Django ab heute
Erste Schritte mit Django 2
[Django] Verwalten Sie Einstellungen wie das Schreiben in settings.py mit einem Modell
[Evangelion] Versuchen Sie, mit Deep Learning automatisch Asuka-ähnliche Linien zu erzeugen
Generieren Sie mit Python automatisch eine Häufigkeitsverteilungstabelle auf einmal
Messen und vergleichen Sie Temperaturen mit Raspberry Pi und generieren Sie automatisch Diagramme
Laden Sie Bilder automatisch mit Scraping herunter
Mach Django mit CodeStar (Python3.6.8, Django2.2.9)
Fangen Sie mit Django an! ~ Tutorial ⑤ ~
Minimale Konfigurations-Website-Umgebung mit Django
Erstellen Sie eine API mit Django
Django Model Field Customization Verschiedene
Mach Django mit CodeStar (Python3.8, Django2.1.15)
Generieren Sie XML (RSS) mit Python
Stellen Sie Django serverlos mit Lambda bereit
Python3 + Django ~ Mac ~ mit Apache
Erste Schritte mit Python Django (1)
Erstellen Sie eine Homepage mit Django
Erste Schritte mit Python Django (4)
Erstellen Sie eine Webanwendung mit Django
Erste Schritte mit Python Django (3)
Kombinieren Sie Fast API mit Django ORM
Fangen Sie mit Django an! ~ Tutorial ⑥ ~
Verwenden Sie Django, um Tweet-Daten zu speichern
Führen Sie eine AES-Verschlüsselung mit DJango durch
Verwenden Sie das Django-Modell vom Interpreter
Einführung in Python Django (6)
Kalibrieren Sie das Modell mit PyCaret
Kombiniere zwei Bilder mit Django
Erste Schritte mit Django mit PyCharm
Echtzeit-Web mit Django-Kanälen
Doppelte Submit-Unterdrückung mit Django
Django REST Framework mit Vue.js
Generiere Pokemon mit Deep Learning