바뀜

717 바이트 제거됨 ,  2021년 5월 11일 (화) 20:02
9번째 줄: 9번째 줄:  
===특징===
 
===특징===
 
하나의 모델은 하나의 테이블에 매핑된다. 모델의 속성은 컬럼에 매핑된다. 모델을 정의하면 primarykey는 장고에서 자동으로 부여한다.(직접 지정할 수도 있다.)
 
하나의 모델은 하나의 테이블에 매핑된다. 모델의 속성은 컬럼에 매핑된다. 모델을 정의하면 primarykey는 장고에서 자동으로 부여한다.(직접 지정할 수도 있다.)
==테이블 설계하기==
+
===테이블 설계하기===
 
장고의 모델은 하나의 테이블에 매핑된다. 때문에 테이블을 어떤 방식으로 관리할지 청사진이 그려져야 한다.
 
장고의 모델은 하나의 테이블에 매핑된다. 때문에 테이블을 어떤 방식으로 관리할지 청사진이 그려져야 한다.
   −
컬럼명, 타입, 제약조건 등에 따라 테이블을 설계한다.
+
컬럼명, 타입, 제약조건 등에 따라 테이블을 설계한 후 모델을 정의하는 게 일반적이다.
 
{| class="wikitable"
 
{| class="wikitable"
 
!컬럼명
 
!컬럼명
32번째 줄: 32번째 줄:  
|용도 설명
 
|용도 설명
 
|}
 
|}
==정의==
+
=정의=
 +
 
 
애플리케이션 디렉토리의 model.py에서 정의한다.<syntaxhighlight lang="python">
 
애플리케이션 디렉토리의 model.py에서 정의한다.<syntaxhighlight lang="python">
 
class 모델명(models.Model): #이게 하나의 테이블이 된다.
 
class 모델명(models.Model): #이게 하나의 테이블이 된다.
53번째 줄: 54번째 줄:  
|}
 
|}
   −
== 모델 변경 ==
+
== 관리자페이지 ==
웹사이트를 서비스하는 중에도 모델의 형태를 바꿔야 할 때가 있다.
  −
 
  −
=== 방법 ===
  −
단순히 모델에 변형을 가한 이후 <code>makemigrations</code>과 <code>migrate</code>를 통해 DB를 변경해주어야 한다.
  −
 
  −
null=False 옵션을 사용한 경우, 이전에 입력됬던 값들을 어떻게 처리할지 묻는데, 묻는 말에 따라 해당 데이터를 기입하면 된다.(일반적으로 이전 데이터는 한가지 옵션으로 다 채운다.)
  −
 
  −
=== 수정하기 ===
  −
{| class="wikitable"
  −
!과정
  −
!설명
  −
|-
  −
|DB 수정
  −
|
  −
*새로운 테이블명이 생긴 경우, python manage.py makemigrations을 기입해주고,
  −
*단순 변형이 가해진 경우 python manage.py migrate를 해준다.
  −
|-
  −
|
  −
|
  −
|}
  −
 
  −
==관리자페이지==
   
{| class="wikitable"
 
{| class="wikitable"
 
|+
 
|+