[PYTHON] Générer automatiquement un diagramme de relation de modèle avec Django

Aperçu

Un résumé personnel de la façon de générer automatiquement des relations de modèle à l'aide de graph_models dans les extensions Django. La procédure consiste à s'exécuter à l'intérieur du conteneur docker, pas dans l'environnement env.

Préparation

Installation, etc.

Installez les packages requis.

pip install pygraphviz
pip install pydotplus
pip install django-extensions

Notez que si vous essayez d'installer pygraphviz dans l'environnement Windows, vous devez installer l'outil de construction VC.

En outre, lorsque vous le faites dans un conteneur Docker, le travail suivant était également nécessaire. Installez graphviz.

apt-get install -y graphviz

Si vous souhaitez imprimer en japonais, installez la police japonaise. Préparez le fichier ttc de manière appropriée à partir de Windows, etc. Il est facile de le mettre dans le Dockerfile.

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

Autre

Si vous avez donné un nom détaillé au modèle lui-même ou au champ à l'avance, vous pouvez utiliser ce nom dans le diagramme du modèle.

commander

python3 manage.py graph_models -g -o <nom de la sortie> .png --verbose-names --disable-abstract-fields <nom de l'application>

Je n'ai pas pu générer de jpg dans mon environnement, mais puis-je vraiment le faire? De plus, --verbose-names est une option pour utiliser verbose-name, et --disable-abstract-fields est une option pour ne pas inclure les champs hérités. Il existe de nombreuses autres options, telles que --exclude-models pour exclure les modèles indésirables.

référence

Schéma PDF ER de Models.py avec Django

Recommended Posts

Générer automatiquement un diagramme de relation de modèle avec Django
Jointure externe gauche dans le modèle Django
Générez automatiquement des spécifications d'objets avec Blue Prism
Modèle Django: ManyToManyField
Internationalisation avec Django
CRUD avec Django
Essayez de générer automatiquement des documents Python avec Sphinx
Comment générer automatiquement un document API avec le framework Django REST et POST à partir de l'écran de document
Authentifier Google avec Django
Django 1.11 a démarré avec Python3.6
Télécharger des fichiers avec Django
Résumé du développement avec Django
Sortie PDF avec Django
Sortie Markdown avec Django
Utiliser Gentelella avec Django
Premiers pas avec Django 1
Montage du modèle avec lmfit
Envoyer des e-mails avec Django
Modifications du modèle dans Django
Django haute performance - Modèle
Téléchargement de fichiers avec django
Régression avec un modèle linéaire
Créez dynamiquement des tables dans un schéma avec Django, générez dynamiquement des modèles
Utilisez LESS avec Django
La mutualisation mécanise avec Django
Utiliser MySQL avec Django
Django à partir d'aujourd'hui
Premiers pas avec Django 2
[Django] Gérez les paramètres comme l'écriture dans settings.py avec un modèle
[Evangelion] Essayez de générer automatiquement des lignes de type Asuka avec Deep Learning
Générez automatiquement une table de distribution de fréquence en un seul coup avec Python
Mesurez et comparez les températures avec Raspberry Pi et générez automatiquement des graphiques
Télécharger automatiquement des images avec grattage
Faites Django avec CodeStar (Python3.6.8, Django2.2.9)
Lancez-vous avec Django! ~ Tutoriel ⑤ ~
Environnement de site Web de configuration minimale avec django
Créer une API avec Django
Personnalisation du champ de modèle Django Divers
Faites Django avec CodeStar (Python3.8, Django2.1.15)
Générer du XML (RSS) avec Python
Déployer Django sans serveur avec Lambda
Python3 + Django ~ Mac ~ avec Apache
Premiers pas avec Python Django (1)
Créer une page d'accueil avec django
Premiers pas avec Python Django (4)
Créer une application Web avec Django
Premiers pas avec Python Django (3)
Combinez Fast API avec Django ORM
Lancez-vous avec Django! ~ Tutoriel ⑥ ~
Utilisez Django pour enregistrer les données de tweet
Effectuer le cryptage AES avec DJango
Utiliser le modèle django de l'interpréteur
Introduction à Python Django (6)
Calibrer le modèle avec PyCaret
Combinez deux images avec Django
Premiers pas avec Django avec PyCharm
Web en temps réel avec les chaînes Django
Suppression de double envoi avec Django
Framework Django REST avec Vue.js
Générez des Pokémon avec Deep Learning