바뀜

둘러보기로 가기 검색하러 가기
2,113 바이트 추가됨 ,  2021년 5월 11일 (화) 19:56
새 문서: == 모델 정의 == 앱 안의 models.py에 넣어주면 된다.<syntaxhighlight lang="python"> class test(models.Model): # 이게 하나의 테이블이 된다. name = models.Ch...
== 모델 정의 ==
앱 안의 models.py에 넣어주면 된다.<syntaxhighlight lang="python">
class test(models.Model): # 이게 하나의 테이블이 된다.
name = models.CharField(max_length=10)
</syntaxhighlight>

== 관리자페이지 등록 ==
앱 안의 admin.py를 수정해준다. 다음의 내용을 추가해준다.<syntaxhighlight lang="python">
from testapp.models import *

admin.site.register(test)
</syntaxhighlight>

== DB에 반영 ==
다음의 두 명령을 차례대로 기입한다.

python manage.py makemigrations

python manage.py migrate

== 객체 표시명 바꾸기 ==
기존 모델 안에 다음과 같이 메서드를 정의한다.<syntaxhighlight lang="python">
class test(models.Model): # 이게 하나의 테이블이 된다.
name = models.CharField(max_length=10)

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

== 필드 추가해보기 ==
models.py를 다음과 같이 고쳐보자.<syntaxhighlight lang="python">
class test(models.Model): # 이게 하나의 테이블이 된다.
name = models.CharField(max_length=10)
age = models.IntegerField()

def __str__(self):
return self.name # 객체의 속성 중 name를 반환하여 보여준다.
</syntaxhighlight>이걸 반여하기 위해선 다음의 두 명령을 차례로 기입해주어야 한다.

python manage.py makemigrations

python manage.py migrate

== 필드에 제약조건 걸어보기 ==
다음과 같이 제약조건을 걸면 입력을 하지 않아도 객체를 저장할 수 있다.<syntaxhighlight lang="python">
class test(models.Model): # 이게 하나의 테이블이 된다.
name = models.CharField(max_length=10)
age = models.IntegerField(null=True, blank=True)

def __str__(self):
return self.name # 객체의 속성 중 name를 반환하여 보여준다.
</syntaxhighlight>DB의 속성을 손대는 것이기 때문에 다음의 두 명령을 차례로 기입해주어야 한다.

python manage.py makemigrations

python manage.py migrate
[[분류:장고 모델]]

둘러보기 메뉴