Skip to content

Latest commit

 

History

History
33 lines (20 loc) · 1.43 KB

union method_gmlwo530.md

File metadata and controls

33 lines (20 loc) · 1.43 KB

Union Method

작성자 : 최희재

list를 merge 시키는건 간단하게 + 기호를 사용하면 됐는데, queryset은 어떻게 하는지 궁금해서 찾아봤다.

QuerySet을 합치는 것도 아래와 같이 간단하게 |을 사용하면 됐는데, 검색 결과 밑에 있는 union이라는 재밌는 메소드가 있길래 오늘의 커밋으로 선정하였다.

  # 서로 같은 모델일 때만 가능하다는 제약 조건이 있다.
  posts_one = Post.objects.filter(category="food")
  posts_two = Post.objects.filter(category="trip")

  merged_posts = posts_one | posts_two

union은 django 1.1부터 추가 된 메소드라고 한다. union 말고 intersection()difference() 메소드도 있지만, 오늘은 union만 다루도록 하겠다.

두 개 이상의 QuerySet을 SQL의 union operator를 사용한다.

UNION은 원래 구별 된 값(distinct)만 선택하는데, all=True 인자를 설정해주면 값을 복제한다.

qs1.union(qs2, qs3)

Reference