장고 모델 관계

찬민·2024년 8월 21일

TIL

목록 보기
40/62

모델 관계 (Model Relationships)

모델 관계는 Django에서 데이터베이스 내의 다양한 모델들 간의 연결을 정의하는 방법이다.

Django에서는 여러 유형의 모델 간 관계를 정의할 수 있다:


1. 1:1 관계 (One-to-One Relationship)

일대일 관계는 각 모델 인스턴스가 다른 모델의 단 하나의 인스턴스와만 연결될 때 사용된다. 이는 데이터베이스에서 기본 키와 유사한 개념이다.

예시:
Book은 하나의 Author와만 연결되며, 각 Author는 하나의 Book과만 관계를 가진다.


2. 1:N 관계 (Many-to-One Relationship, Foreign Key)

일대다 관계는 여러 모델 인스턴스가 다른 모델의 하나의 인스턴스와 연결될 때 사용된다. 이는 Django에서 가장 일반적인 관계이며, ForeignKey를 사용하여 구현된다.

예시:
여러 Products는 하나의 Category에 속할 수 있다.


3. N:N 관계 (Many-to-Many Relationship)

다대다 관계는 모델의 각 인스턴스가 다른 모델의 여러 인스턴스와 관계를 맺을 수 있으며, 반대로도 가능한 경우에 사용된다. 이는 ManyToManyField를 사용하여 구현된다.

예시:
Student는 여러 Courses에 등록될 수 있으며, Course는 여러 Students를 가질 수 있다.

0개의 댓글