Fixtures

Django가 데이터베이스로 가져오는 방법을 알고 있는 데이터 모음

Fixtures를 사용해 모델에 초기데이터를 추가한다.

migrations, fixtures를 사용해 데이터와 구조를 공유한다.

- 생성 : dumpdata

- 로드 : loaddata

 

 

dumpdata

python manage.py dumpdata articles.article > articles.json

정보가 담긴 데이터가 json파일로 생성된다.

 

 

python manage.py dumpdata --indent 4 articles.article > articles.json

--indent 4를 추가하면 json구조가 정리되어 확인할 수 있다.

 

 

articles에 fixtures 폴더를 만들어서 json파일을 넣어주는 구조로 한다.

 

 

 

 

loaddata

python manage.py makemigrations

db가 없는 상태를 받았을 때, 먼저 migrate한다.

테이블이 있어야 데이터를 넣을 수 있다.

 

 

python manage.py loaddata articles/article.json

경로, 파일명 를 작성하여 loaddata한다.

 

 

python manage.py loaddata article.json comments.json users.json

한번에 load할 수 있다. 한번에 load할 때 파일 순서는 관계없다.

한번에 할때는 모델 관계, 순서가 관계없지만 하나씩 load할 경우에는 순서가 중요하다.

article에는 like_users필드가 있기 때문에 users가 먼저 필요하다.

외래키가 없는 user먼저 load해야 한다. -> article -> article을 외래키로 쓰는 comment 순으로 load 할 수 있다.