0

Tự động tạo Entity Relationship Diagram khi dùng Django Framework

Share

Django là một Framework giúp bạn lập trình web nhanh hơn và tốt hơn so với các framework như Flask mà lại dễ hơn nhiều. Django có tài liệu rất tốt và tuân theo nguyên tắc DRY (Đừng lặp lại chính mình) trong khi những Framework khác không quan tâm nhiều về điều này. Django cũng hỗ trợ ORM (Object Realistic Mapping).

Gần đây, trong quá trình phát triển tiếp một project trên Django Framework mình gặp vấn để là làm sao hiểu được cấu trúc của dự án cũ trước đó (dự án cũ không có tài liệu ADD). Sau thời gian bỏ công tìm hiểu thì cuối cùng cũng mày mò ra phương pháp xuất ra Entity Relationship Diagram (ERD) bằng cách sử dụng thư viện pygraphviz.

Với môi trường phát triển là Linux thì việc cài đặt pygraphviz quá đơn giản bằng lệnh sudo blabla.. Tuy nhiên việc cài trên Window hơi phức tạp và dưới đây là cách thực hiện.

Cài Graphviz và thư viện python pygraphviz trên Window

Sau khi hoàn thành các bước trên, có thể cài đặt thư viện Python của Graphviz bằng lệnh:

pip install pygraphviz‑1.6‑cp39‑cp39‑win_amd64.whl

Cấu hình project Django

Chỉnh sửa INSTALLED_APPS trong setting.py: thêm "django_extensions":

INSTALLED_APPS = [
    # Django modules
    # .....
    "django_extensions",
]

Xuất Data Modeling Diagram

python ./manage.py graph_models --pygraphviz -a -g -o database_visualization.png

Sau khi lệnh thực thi thành công thì sẽ ra được hình như dưới đây: