| 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를 해준다.
| |
| − | |-
| |
| − | |
| |
| − | |
| |
| | |} | | |} |
| | | | |