오답노트
[Django] 모델 관계 설정 본문
1:1 관계
1:1 관계는 두 테이블의 row가 서로 1:1 관계를 의미한다.
이러한 관계가 되도록 model을 작성해보자.
Test2라는 모델을 생성했다. test는 외래키로 Test 모델과 1:1관계를 나타내고 있다.
ForeignKey로 다른 모델과 1:1 관계를 만들 수 있다.
이때 on_delete 관계는 참조하는 인스턴스가 삭제 되었을 때 처리방식을 지정한다.
위 화면은 Test2에서 데이터를 추가할 때, Test의 정보를 가지고 1:1 관계를 형성해 추가한다.
M:N 관계
다대다 관계를 갖는 모델을 만들 수 있다
ManyToManyField 로 다대다 관계를 갖을 모델을 선택하면 서로 다대다 관계를 갖게된다.
참고로 아래는 다대다 관계를 갖는 모델이다.
1:M 관계
1:M 관계는 위 관계들과 달리 Field로 지정하는 것이 아닌 메소드로 접근한다.
1:1 관계인 Test2를 1:M 관계로 가져와보자.
Test 모델에서 1:1 관계에 있는 Test2의 모든 정보를 가져와 출력한다.
아래는 출력하기 위한 html 코드이다.
결과는 아래와 같다.
'Python > Django' 카테고리의 다른 글
[Django] Django Form (1) | 2022.11.17 |
---|---|
[Django] Manager & QuerySet (0) | 2022.11.16 |
[Django] Template (0) | 2022.11.15 |
[Django] View에서 Model 사용하기 (0) | 2022.11.15 |
[Django] Model 작성하기 (0) | 2022.11.15 |