장고를 통해 db의 데이터를 추출 가능하다.
터미널에서 아래의 커맨드를 사용하면 된다.
python manage.py dumpdata --indent=4 --output=a/api_model.json api.model
--indent
는 들여쓰기를 추가해준다. 4라고 입력하면 tab 한번에 크기가 4인 공백을 사용하게 된다.
옵션을 안주면 single line으로 dump되니까 되도록 쓰는 게 보기 편하다.
--output
은 dump한 데이터를 파일로 저장할 때 사용한다. 옵션을 주지 않으면 standardout으로 출력된다. a/api_model.json
처럼 상대경로로 현재 위치에서 a 디렉토이 안에 파일이름을 지정해서 저장할 수 있다.
그리고 같은 위치에 같은 커맨드를 실행하면 파일을 덮어쓴다.
마지막에 인자로 준 api.model
은 dump하고 싶은 app의 model을 지정한 것이다.
db에서는 model별로 테이블이 생성되므로 해당 모델의 테이블에 있는 레코드를 dump한다.
마지막 인자를 주지 않았을 경우, 즉 python [manage.py](http://manage.py) dumpdata --indent=4 --output=api_model.json
커맨드를 실행 했을 경우, 모델 구분을 하지 않고DB의 전 레코드를 api_model.json에 dump하니까 주의해야한다.
Reference
'Django' 카테고리의 다른 글
Django CharField editable (0) | 2023.02.09 |
---|---|
Django 데이터베이스 mysql 설정하기 (0) | 2023.02.05 |
Django-environ 패키지를 활용한 Django 환경변수 설정 (0) | 2023.02.01 |
django allowed hosts invaild host header elb alb (0) | 2022.11.05 |