4. 실습. 장고 모델 이해하기

Sam (토론 | 기여)님의 2021년 5월 11일 (화) 20:08 판 (Sam님이 3. 실습. 장고 모델 이해하기 문서를 4. 실습. 장고 모델 이해하기 문서로 이동했습니다)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 모델 정의

앱 안의 models.py에 넣어주면 된다.

class test(models.Model):  # 이게 하나의 테이블이 된다.
    name = models.CharField(max_length=10)

2 관리자페이지 등록

앱 안의 admin.py를 수정해준다. 다음의 내용을 추가해준다.

from testapp.models import *

admin.site.register(test)

3 DB에 반영

다음의 두 명령을 차례대로 기입한다.

python manage.py makemigrations

python manage.py migrate

4 객체 표시명 바꾸기

기존 모델 안에 다음과 같이 메서드를 정의한다.

class test(models.Model):  # 이게 하나의 테이블이 된다.
    name = models.CharField(max_length=10)

    def __str__(self):
        return self.name  # 객체의 속성 중 name를 반환하여 보여준다.

5 필드 추가해보기

models.py를 다음과 같이 고쳐보자.

class test(models.Model):  # 이게 하나의 테이블이 된다.
    name = models.CharField(max_length=10)
    age = models.IntegerField()

    def __str__(self):
        return self.name  # 객체의 속성 중 name를 반환하여 보여준다.

이걸 반여하기 위해선 다음의 두 명령을 차례로 기입해주어야 한다.

python manage.py makemigrations

python manage.py migrate

6 필드에 제약조건 걸어보기

다음과 같이 제약조건을 걸면 입력을 하지 않아도 객체를 저장할 수 있다.

class test(models.Model):  # 이게 하나의 테이블이 된다.
    name = models.CharField(max_length=10)
    age = models.IntegerField(null=True, blank=True)

    def __str__(self):
        return self.name  # 객체의 속성 중 name를 반환하여 보여준다.

DB의 속성을 손대는 것이기 때문에 다음의 두 명령을 차례로 기입해주어야 한다.

python manage.py makemigrations

python manage.py migrate