2012-09-18 2 views
2

슬라이스 된 쿼리 세트를 연결하는 방법이 있습니까? 의 간단한 예 (난이 특정 예는 하나 개의 쿼리로 작성할 수 있습니다 실현) : django 슬라이스를 취한 후 쿼리를 결합 할 수 없습니다

>>> ... 
>>> query_set_1 = Model.objects.filter(...)[:3] 
>>> query_set_2 = Model.objects.filter(...)[5:] 

>>> query_set_1 | query_set_2 

이 작동하지 않을,

>>> AssertionError: Cannot combine queries once a slice has been taken. 

어떤 제안? 덕분에 !

답변

9

No. 그러나 itertools.chain()을 사용하면 두 가지 쿼리 세트를 차례대로 반복 할 수 있습니다.

qiter = itertools.chain(query_set_1, query_set_2) 
0
merged_queryset = [x for x in queryset1] + [y for y in queryset2] 
관련 문제