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、それを指摘してくれてありがとう –
私たちがいる間、priority_filters = [Q(focus_priority = p_id)for p_id for priority_ids] ':) – Dougal