0
모든 검색 조건을 구성하는 13 개의 체크 박스 그룹이있는 양식이 있습니다 ... ALL 또는 ANY에 대한 라디오 버튼 쌍이 추가 된 것을 제외하고는 . Django any()와 querysets의 all() 찾기
내가 좋아하는 우아한 뭔가 도망 기대했다 :priority_ids = request.GET.getlist("priority") # checkboxes
collection = request.GET.get("collection") # radio buttons
priorities = []
for priority_id in priority_ids:
priorities.append(Q(focus__priority=priority_id))
if (collection == "any"): qset = any(priorities)
elif (collection == "all"): qset = all(priorities)
그러나, 어떤() 모든()는 부울이 아닌 내가 필터에서 사용할 수있는 검색어 세트를 돌려줍니다. "Q (...) | Q (...) | Q (...)"또는 "Q (...) & Q (...)와 동등한"모든 "또는"모두 "를 원합니다. .) & Q (...) "어디서나 1에서 13까지의 기준.
참고. – Dougal
+1,':) –
을 지적 해 주셔서 감사합니다는'any' 경우는 아마도 수 '__in' 검색 유형 ('SomeModel.objects.filter (focus__priority__in = priority_ids)')을 사용하여 처리됩니다. 나는 당신이'all'을 위해서 이렇게해야한다고 생각합니다. – Dougal