주 메뉴 열기
대문
임의의 문서로
로그인
설정
Pywiki 소개
면책 조항
Pywiki
검색
바뀜
← 이전 편집
다음 편집 →
2. 장고 모델 필드 & 제약조건
(편집)
2021년 5월 25일 (화) 19:58 판
720 바이트 추가됨
,
2021년 5월 25일 (화) 19:58
→필드
4번째 줄:
4번째 줄:
폼 등의 사용해서 자동화에 도움을 준다.
폼 등의 사용해서 자동화에 도움을 준다.
=필드=
=필드=
−
데이터를 저장할 테이블을 디자인해야 하는데,
DB에
대한 제약은 모델의 필드에서 만들어준다.
+
데이터를 저장할 테이블을 디자인해야 하는데,
테이블의 속성에
대한 제약은 모델의 필드에서 만들어준다.
==텍스트 관련==
==텍스트 관련==
59번째 줄:
59번째 줄:
==타 모델과 연결하는 필드==
==타 모델과 연결하는 필드==
연결하려는 쪽에서 사용해주면 된다.
연결하려는 쪽에서 사용해주면 된다.
+
+
외부모델을 연결한다든가 다양한 상황이 생길 수 있다. 이때 외부모델을 임포트해와야 하는데, 다음과 같은 형식으로 불러온 후 사용한다.
+
+
<code>from 앱이름.models import 모델명</code> 형식으로 임포트 해서 사용할 수 있다.
{| class="wikitable"
{| class="wikitable"
!내용
!내용
90번째 줄:
94번째 줄:
|-
|-
|필드명 = models.ForeignKey
|필드명 = models.ForeignKey
−
|
author속성을
외부의
객체를 불러온다는
의미.
+
|
필드명 속성을
외부의
객체로 둔다는
의미.
|}
|}
====옵션====
====옵션====
98번째 줄:
102번째 줄:
|-
|-
|어느 객체를 불러올 것인가.
|어느 객체를 불러올 것인가.
−
|models.ForeignKey(
모델명
, 이외옵션) 형태로
모델을 import해서 넣는다
.
+
|models.ForeignKey(
연결할모델명
, 이외옵션) 형태로
작성한다
.
|-
|-
|on_delete=models.세부옵션
|on_delete=models.세부옵션
108번째 줄:
112번째 줄:
|-
|-
|CASCADE
|CASCADE
−
|외래모델이 지워지면 함께 지운다는 의미.
+
|외래모델이 지워지면 함께 지운다는 의미.
(기존 글이 사라질때 댓글이 같이 사라지게 한다)
|-
|-
|PROTECT
|PROTECT
129번째 줄:
133번째 줄:
|
|
|}
|}
+
+
==== 사용예 ====
+
{| class="wikitable"
+
!
+
!
+
!
+
|-
+
|댓글달기
+
|댓글을 다는 기능을 구현하기 위해 댓글 테이블을 만들려면 기존 글에 대한 ForeignKey를 사용해야 한다.
+
|<syntaxhighlight lang="python">
+
class 댓글(models.Model):
+
기존글 = models.ForeignKey(기존모델, on_delete-models.CASCADE)
+
</syntaxhighlight>
+
|}
+
==선택모델 만들기==
==선택모델 만들기==
카테고리를 지정할 때 사용한다.<syntaxhighlight lang="python">
카테고리를 지정할 때 사용한다.<syntaxhighlight lang="python">
Sam
사무관
,
인터페이스 관리자
,
관리자
, 교사
편집
1,408
번