[Django] Fixtures

    # Fixtures?

    = 초기 데이터

    데이터베이스가 아닌, 데이터베이스에 들어가 있는 데이터 모음 

    이걸로 공유하고, 이걸 받아와서 바로 DB데이터를 채울 수 있음

     

     

     

    # dumpdata

    기본 코드

    $ python manage.py dumpdata [app_name[.Modelname] [app_name[.Modelname] ... ]] > filename.json

     

    articles 추출해보기

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

    --indent 4 == 보기 쉽게 들여쓰기 4칸으로 해라

     

     

    다음과 같은 결과 값 얻을 수 있음

    # articles.json
    
    [
    {
        "model": "articles.article",
        "pk": 1,
        "fields": {
            "user": 1,
            "title": "1qjs",
            "content": "������",
            "created_at": "2023-10-17T01:12:38.788Z",
            "updated_at": "2023-10-17T01:12:38.788Z",
            "like_users": []
        }
    },
    {
        "model": "articles.article",
        "pk": 2,
        "fields": {
            "user": 1,
            "title": "2����",
            "content": "����",
            "created_at": "2023-10-17T01:12:49.532Z",
            "updated_at": "2023-10-17T01:12:49.532Z",
            "like_users": []
        }
    }
    ]

     

     

    # Loaddata

    fixtures 데이터를 데이터베이스로 불러오기

     

    Fixtures 파일의 기본 경로 = app_name/fixtures/

    + fixture 파일 위치 옮겨오기 → articles/fixtures/               

    database지우고

    migrate

    database한번 더 지우고

    $ python manage.py loaddata articles.json comments.json users.json

    해도 오류가 남

    1. dumpdata시 추가 옵션 작성

    $ python -Xutf8 manage.py dumpdata [생략]

     2. 메모장 활용

    1. 메모장으로 json 파일 열기
    2. 다른이름으로 저장
    3. 인코딩을 UTF8로 선택 후 저장

     

    근데, 하는 순서도 중요

    그래서 그냥 모든 모델을 하나의 json 파일로 해주자

    $ python manage.py dumpdata --indent 4 > data.json

     

    [뒤에 추가파트 더 듣기]

    'BackEnd > Django' 카테고리의 다른 글

    [Django] 댓글 구현(N : 1)  (0) 2023.10.17
    [Django] Query  (0) 2023.10.17
    [Django] N:M 팔로우 기능 구현  (0) 2023.10.17
    [Django] N:M 프로필 만들기  (0) 2023.10.17
    [Django] 웹 크롤링(Web Crawling)  (0) 2023.10.13

    댓글