반응형
두 장고 쿼리 셋의 합집합을 어떻게 찾을 수 있습니까?
두 가지 사용자 지정 관리자 메서드가있는 Django 모델이 있습니다. 각각은 객체의 다른 속성을 기반으로 모델 객체의 다른 하위 집합을 반환합니다.
각 관리자 메서드에서 반환 된 쿼리 집합의 합집합 인 쿼리 집합 또는 개체 목록을 얻을 수있는 방법이 있습니까?
이것은 작동하고 조금 더 깨끗해 보입니다.
records = query1 | query2
중복을 원하지 않는 경우 다음을 추가해야합니다 .distinct()
.
records = (query1 | query2).distinct()
버전 1.11 부터 django 쿼리 세트에는 내장 통합 메소드가 있습니다.
q = q1.union(q2) #q will contain all unique records of q1 + q2
q = q1.union(q2, all=True) #q will contain all records of q1 + q2 including duplicates
q = q1.union(q2,q3) # more than 2 queryset union
더 많은 예제를 보려면 이에 대한 내 블로그 게시물 을 참조하십시오 .
'query1 | 대신'query1.union (query2) '를 사용하는 것이 좋습니다. query2 '; 위의 두 가지 방법에서 다른 결과를 얻었으며 이전 방법은 내가 기대 한 것입니다. 다음은 내가 본 것입니다.
참고 URL : https://stackoverflow.com/questions/4411049/how-can-i-find-the-union-of-two-django-querysets
반응형
'developer tip' 카테고리의 다른 글
더 빠른 것은 무엇입니까, 문자열 또는 elseif on type? (0) | 2020.10.18 |
---|---|
펄의 foreach 루프에서 자동으로 루프 인덱스를 얻습니다. (0) | 2020.10.18 |
실행중인 JVM의 매개 변수 가져 오기 (0) | 2020.10.18 |
수도 뱅뱅이란? (0) | 2020.10.17 |
파일 트리 다이어그램을 그리는 데 사용할 도구 (0) | 2020.10.17 |