"4. 실습. 장고 모델 이해하기"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(새 문서: == 모델 정의 == 앱 안의 models.py에 넣어주면 된다.<syntaxhighlight lang="python"> class test(models.Model): # 이게 하나의 테이블이 된다. name = models.Ch...) |
(차이 없음)
|
2021년 5월 11일 (화) 19:56 판
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