Django-extensions를 이용한 ERD만들기
django-extentions graph_model 공식 문서
Django extensions 설치
pip를 이용해 django-extions를 설치합니다.
$ pip install django-extionsions
settins.py의 INSTALLED_APPS에 django_extensions
를 넣어줍니다.
# settions.py
INSTALLED_APPS = (
...
'django_extensions',
)
그룹모델 지정
# settings.py
GRAPH_MODELS = {
'all_applications': True,
'group_models': True,
}
기본적으로 Django-extensions에 있는 graph model기능을 이용해 dot파일을 생성할 수 있습니다.
$ ./manage.py graph_models -a > my_project.dot
위와 같이 기본적으로 볼 수는 있으나 보기가 편하지는 않습니다. 조금 더 이쁘게 보기 위해 graphviz 설치가 필요합니다.
graphviz
공식문서에는 $ pip install pygraphviz
를 하면 된다고 나와 있으나 그냥 설치를 하게 되면 오류가 발생을 합니다.
brew를 통한 graphviz설치가 선행이 되어야합니다.
$ brew install graphviz
설치가 완료된 후 $ pip install pygraphviz
$ /manage.py graph_models -a -g -o my_project_visualized.png
위와 같이 그림으로 조금 더 보기 쉽게 바꿀 수 있습니다.
원하는 모델만 출력하기
위의 사진에서 보게 되면 Django에서 기본적으로 만들어놓은 여러 모델들때문에 보기가 이쁘지는 않습니다.
원하는 모델만 출력을 하도록 변경을 해봅니다.
$ ./manage.py graph_models -a -I User,Center,WorkOutRecord -o my_project_want_model.png