#13 Django-4

박종규·2021년 7월 20일
1

TIL

목록 보기
14/22

배우 & 영화

ManytoMany 관계에 있는 테이블을
ForeignKey로만 이루어진 중간테이블을 만들어서 한 번,
ManytoManyfield를 이용해서 한 번, 총 2번 구현해보고
비교해볼 것이다.

1. ForeignKey 중간 테이블

models.py

views.py

어제 Owner와 Dog의 관계를 이어주는 것과 비슷했다.
자꾸 쿼리셋이 반환되는 이유를 몰라서 헤맸다.

actor와 movie가 각각 입력되면 둘의 관계를 이어주기 위해서
클래스를 하나 더 만들었다.

mysql tables

httpie

2. ManytoMany

models.py

actor와의 관계를 class에서 정의해주었다.

views.py

중간테이블을 호출하지 않고 actor 정보를 불러올 수 있다.

방법 비교 🤔

ForeignKey로만 관계 설정

둘의 관계를 별도로 등록해주어야한다.
연결되어 있는 정보를 가져올 경우, 중간테이블을 반드시 거쳐야 한다.

ManytoMany

중간테이블을 거치지 않고 바로 데이터를 찾을 수 있다.
데이터량이 적을 때는 상관없지만,
데이터가 많을 경우에는 보다 효율적일 것 같다.
중간 테이블을 별도로 만들지 않을 경우, 자동으로 생성된다.

0개의 댓글