[Django] (Docs) Spanning multi-valued relationships

azzurri21·2022년 1월 6일
0

Django

목록 보기
1/7

장고 공식문서 Making Quesies 중 Spanning multi-valued relationships절에 대한 해석이다.


다대다 관계, 혹은 일대다 관계에서 일에 해당하는 테이블의 인스턴스를 추출할 때는 쿼리 문장의 중의성에 의해 아래 예시와 같은 문제가 발생한다.

  • 블로그이라는 두 모델이 일대다 관계성을 가진다고 하자.

2008년에 쓰이고 "Lennon"이 포함된 제목의 글을 가지는 블로그 인스턴스를 추출하라.

위 쿼리는 중의적으로 해석된다.

  1. 제목에 "Lennon"을 포함하며 2008년에 쓰인 글을 포함하는 블로그 (한 글이 두 조건을 동시에 충족)
  2. 제목에 "Lennon"을 포함하는 글을 가지고, 2008년에 작성된 글(제목이 "Lennon"을 포함할 필요는 없음)을 포함하는 블로그

1에 해당하는 코드는 아래와 같다.

Blog.objects.filter(entry__headline__contains='Lennon', entry__pub_date__year=2008)

2에 해당하는 코드는 아래와 같다.

Blog.objects.filter(entry__headline__contains='Lennon', entry__pub_date__year=2008)

구체적인 모델 필드와 설명은 공식문서에 있다.

profile
파이썬 백엔드 개발자

0개의 댓글