Генерация схемы моделей Django проекта без IDE

2826 2

Понимание текущей схемы моделей проекта Django важно для успешной разработки.

Генерировать подобные схемы умеют продвинутые IDE типа PyCharm.
Но есть возможность генерации без IDE из консоли.
Для этого я использую django-extensions и pygrafviz и получаю что-то типа этого:


Для создания подобных схем нам необходимо:

1. Установить в систему grafviz и другие библиотеки:

sudo apt install graphviz libgraphviz-dev graphviz-dev pkg-config
2. В окружении проекта установить приложения django-extensions и pygrafviz
pip install pygraphviz
pip install django-extensions
3. В настройках проекта settings.py добавить приложение django-extensions 
INSTALLED_APPS = (
    ...
    'django_extensions',
)

4. Если в проекте используются сторонние шаблонизаторы, то для создания схемы их необходимо временно отключить так как django-extensions использует родные шаблоны Django.

5. Ну и наконец для создания схемы моделей используем команды:
# Для всего проекта
./manage.py graph_models -a -g -o my_project_visualized.png
# Для отдельных приложений проекта
./manage.py graph_models django_app -g -o ../django_app_models.png

Вот и всё. Пользуйтесь на здоровье!

Больше возможностей от django-extensions можно почерпнуть здесь: django-extensions.readthedocs.io
Больше команд для создания схем моделей тут: django-extensions Grapph models


Комментарии

15 июня 2023 г. 16:03 owlman
В PyCharm есть свой встроенный инструмент для построения таких схем.
15 июня 2023 г. 13:34 Юрий
Привет! Даже не подозревал, что в PyCharm можно делать схемы. Изучаю Python полгода и все больше втягиваюсь. Всегда радуюсь, когда нахожу полезное, на что особо и внимание не обращал. Спасибо за такие посты в блоге! )

Контактные данные

 Россия, г. Москва