74 votes

Django - Représentation graphique du modèle (ERD)

Je cherche un moyen de représenter graphiquement le modèle de mon projet Django.

Existe-t-il un moyen "natif" de faire ce genre d'opération ? ERD (schéma) ?


Mise à jour suivante Instructions @Etienne

Voici un exemple de la façon dont je visualise finalement le PDF représentant certains modèles de mon projet django

$ python manage.py graph_models app1 app2 ... | dot -Tpdf | evince
  • Il génère effectivement les données du point avec mes applications (app1, app2, ...).
  • Transmet le résultat à dot pour sortir au format PDF
  • Ouvre la sortie avec evince

0 votes

C'est génial de voir qu'à partir de la seule réponse supprimée (pourquoi a-t-elle été supprimée ?), un petit projet a évolué : github.com/LegoStormtroopr/django-spaghetti-et-boules-de-viande

98voto

Etienne Points 6176

Si vous souhaitez extraire un diagramme UML de vos modèles Django, vous pouvez utiliser la fonction Modèles graphiques commande de django-extensions . Un autre qui fait pratiquement la même chose : django-graphviz .

Si vous voulez créer vos modèles Django à partir d'UML : uml-to-django .

Et pour créer des diagrammes UML, il y a Dia , yED et ArgoUML

Vous pouvez également consulter cette page liste d'outils.

0 votes

Je vais utiliser django-extension avec pygraphviz ( quand je réussirai à les installer :)

1 votes

Je viens de soumettre une demande d'autorisation pour permettre l'utilisation de PyDot au lieu de PyGraphViz ; ce qui signifie que vous n'aurez pas à vous soucier des extensions C ;)

21 votes

-1 : UML n'est pas ERD.

7voto

Samuele Mattiuzzo Points 4769

Le mieux auquel je puisse penser est Argo UML qui vous oblige à concevoir à la main (et ensuite vous pouvez convertir l'UML en Django avec cet outil )

Si vous voulez faire la conversion django - uml (dans l'autre sens), essayez de regarder à De Django à UML

6 votes

Vous pouvez toujours utiliser un outil comme Argo pour créer vos diagrammes ERD. Quoi qu'il en soit, si vous avez une meilleure option, postez votre réponse :) Le fait que nos réponses soient des "hacks" autour d'un problème et non la solution parfaite est un peu prétentieux. Merci.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X