M : M 와 models.ManyToManyField()

이유진·2021년 11월 30일
0

이전 추가 과제인 actor와 movie를 다대다 관계로 class를 작성한 후 DB에 데이터를 입력해보는 과제할당시에, 메인과제까지만 진행해서
다대다에 관련된 model을 작성을 처음하면서 내가 이해한 것을 기록해보려고 한다.




1. 다대다 (M:M)이란?

여러개가 여러개를 참조하고 있다.
ex)

+) 일대일 ( 1:1)
일대다 ( 1:M)




1) 중간테이블과 연관되는 클래스

: ManyToManyField를 사용하게 될 경우, 중간테이블

from django.db import models

변수명 = models.ManyToManyField('class명')

2) through 옵션

: 중간 모델의 calss명을 수동으로 정의
(throgh을 정의하지 않아도, 관계 유지를 위해 생성되는 테이블의 모델 class가 생성됨)

from django.db import models

변수명 = models.ManyToManyField('클래스명', through='중간테이블 class명')
profile
차근차근 배워나가는 주니어 개발자

0개의 댓글