34번째 줄: |
34번째 줄: |
| 애플리케이션 디렉토리의 model.py에서 정의한다.<syntaxhighlight lang="python"> | | 애플리케이션 디렉토리의 model.py에서 정의한다.<syntaxhighlight lang="python"> |
| class 모델명(models.Model): #이게 하나의 테이블이 된다. | | class 모델명(models.Model): #이게 하나의 테이블이 된다. |
− | 속성=model.옵션(옵션) | + | 속성 = model.옵션(옵션) |
| </syntaxhighlight> | | </syntaxhighlight> |
| ===테이블 디자인하기=== | | ===테이블 디자인하기=== |
58번째 줄: |
58번째 줄: |
| |} | | |} |
| | | |
− | == 관리자페이지 == | + | === DB반영 === |
| + | 모델에 메서드가 추가되기만 했을 땐 실행할 필요 없다. |
| + | {| class="wikitable" |
| + | !과정 |
| + | !방법 |
| + | !비고 |
| + | |- |
| + | |DB변경사항 반영 |
| + | |python manage.py makemigrations |
| + | |새로운 테이블이 생긴 경우. DB 자체에 변형이 가해진다. |
| + | |- |
| + | |DB생성 |
| + | |python manage.py migrate |
| + | |속성이 변한 경우. DB에 변경사항을 반영하라는 명령이다. |
| + | |} |
| + | |
| + | == 모델 변경 == |
| + | 웹사이트를 서비스하는 중에도 모델의 형태를 바꿔야 할 때가 있다. |
| + | |
| + | === 방법 === |
| + | 단순히 모델에 변형을 가한 이후 <code>makemigrations</code>과 <code>migrate</code>를 통해 DB를 변경해주어야 한다. |
| + | |
| + | null=False 옵션을 사용한 경우, 이전에 입력됬던 값들을 어떻게 처리할지 묻는데, 묻는 말에 따라 해당 데이터를 기입하면 된다.(일반적으로 이전 데이터는 한가지 옵션으로 다 채운다.) |
| + | |
| + | === 수정하기 === |
| + | {| class="wikitable" |
| + | !과정 |
| + | !설명 |
| + | |- |
| + | |DB 수정 |
| + | | |
| + | *새로운 테이블명이 생긴 경우, python manage.py makemigration을 기입해주고, |
| + | *단순 변형이 가해진 경우 python manage.py migrate를 해준다. |
| + | |- |
| + | | |
| + | | |
| + | |} |
| + | |
| + | ==관리자페이지== |
| {| class="wikitable" | | {| class="wikitable" |
| |+ | | |+ |
64번째 줄: |
102번째 줄: |
| !설명 | | !설명 |
| !형태 | | !형태 |
− | !
| |
| |- | | |- |
| |__str__ | | |__str__ |
75번째 줄: |
112번째 줄: |
| return self.subject # 객체의 속성 중 subject를 반환하여 보여준다. | | return self.subject # 객체의 속성 중 subject를 반환하여 보여준다. |
| </syntaxhighlight> | | </syntaxhighlight> |
− | |
| |
| |- | | |- |
− | |
| |
| | | | | |
| | | | | |
| | | | | |
| |- | | |- |
− | |
| |
| | | | | |
| | | | | |
98번째 줄: |
132번째 줄: |
| admin.site.register(테이블1) | | admin.site.register(테이블1) |
| </syntaxhighlight>형태로 admin.py를 수정해주어야 한다. | | </syntaxhighlight>형태로 admin.py를 수정해주어야 한다. |
− | |}
| |
− | ==DB반영==
| |
− | 모델에 메서드가 추가되기만 했을 땐 실행할 필요 없다.
| |
− | {| class="wikitable"
| |
− | !과정
| |
− | !방법
| |
− | !비고
| |
− | |-
| |
− | |DB변경사항 반영
| |
− | |python manage.py makemigrations
| |
− | |새로운 테이블이 생긴 경우. DB 자체에 변형이 가해진다.
| |
− | |-
| |
− | |DB생성
| |
− | |python manage.py migrate
| |
− | |속성이 변한 경우. DB에 변경사항을 반영하라는 명령이다.
| |
− | |}
| |
− |
| |
− | == 모델 변경 ==
| |
− | 웹사이트를 서비스하는 중에도 모델의 형태를 바꿔야 할 때가 있다.
| |
− |
| |
− | === 방법 ===
| |
− | 단순히 모델에 변형을 가한 이후 <code>makemigrations</code>과 <code>migrate</code>를 통해 DB를 변경해주어야 한다.
| |
− |
| |
− | null=False 옵션을 사용한 경우, 이전에 입력됬던 값들을 어떻게 처리할지 묻는데, 묻는 말에 따라 해당 데이터를 기입하면 된다.(일반적으로 이전 데이터는 한가지 옵션으로 다 채운다.)
| |
− |
| |
− | === 수정하기 ===
| |
− | {| class="wikitable"
| |
− | !과정
| |
− | !설명
| |
− | |-
| |
− | |DB 수정
| |
− | |
| |
− | *새로운 테이블명이 생긴 경우, python manage.py makemigration을 기입해주고,
| |
− | *단순 변형이 가해진 경우 python manage.py migrate를 해준다.
| |
− | |-
| |
− | |
| |
− | |
| |
| |} | | |} |
| | | |