반응형
두 장고 쿼리 세트의 결합을 어떻게 찾을 수 있습니까?
나는 두 가지 커스텀 매니저 방식의 장고 모델을 가지고 있습니다.각 개체는 개체의 다른 속성을 기준으로 모델 개체의 다른 하위 집합을 반환합니다.
각 관리자 메소드에 의해 반환되는 쿼리 세트의 결합, 즉 객체 목록을 가져올 수 있는 방법이 있습니까?
이것은 작동하고 약간 더 깨끗해 보입니다.
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 | query2' 대신 'query1.union(query2)'을 사용할 것을 제안합니다. 위의 두 가지 방법과 다른 결과를 얻었고 전자 방법은 제가 예상했던 것입니다.제가 발견한 것은 다음과 같습니다.
print "union result:"
for element in query_set1.union(query_set2):
print element
print "| result:"
for element in (query_set1 | query_set2):
print element
결과:
union result:
KafkaTopic object
KafkaTopic object
KafkaTopic object
KafkaTopic object
KafkaTopic object
| result:
KafkaTopic object
KafkaTopic object
언급URL : https://stackoverflow.com/questions/4411049/how-can-i-find-the-union-of-two-django-querysets
반응형
'source' 카테고리의 다른 글
$_GET가 비어 있는지 확인하는 방법은 무엇입니까? (0) | 2023.07.23 |
---|---|
Flexible Array 멤버가 구조 오류 끝에 있지 않은 원인은 무엇입니까? (0) | 2023.07.23 |
Spring Boot Data Jpa 어플리케이션에서 기준 쿼리를 사용하는 방법 (0) | 2023.07.23 |
react-native: 명령을 찾을 수 없습니다. (0) | 2023.07.23 |
Python 및 Scrapy 및 MariaDB/MYSQL 데이터베이스로 스크랩된 데이터 가져오기 시도 (0) | 2023.07.23 |