Trang chủGiới thiệuLiên hệ
Tự động tạo Entity Relationship Diagram khi dùng Django Framework

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 Relistic 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

Môi trường trong ví dụ này là Window 10 64bit và Python 3.9

  • Cài đặt Graphviz-2.38-graphviz-2.38.msi
  • Cài đặt bản prebuild pygraphviz‑1.6‑cp39‑cp39‑win_amd64.whl
  • Download và cài bộ font Roboto tại đây vào window
  • Thêm C:\Program Files (x86)\Graphviz2.38\bin vào System variables PATH

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

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

database visualization
database visualization


Anh Nguyễn

Anh Nguyễn

DIGITAL SOLUTIONS ARCHITECT

Mục lục

1

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

2

Cấu hình project Django

3

Xuất Data Modeling Diagram

Bài viết tương tự

Cấu hình NGINX SSL Passthrough cho nhiều domain dùng SNI routing
Anh Nguyễn
16/11/2021
1 phút
© 2021, Giữ mọi bản quyền

Thông tin

Hợp tácGiới thiệuLiên hệ

Mạng xã hội