たくさんのウィジェット オブジェクトがあります。
各ウィジェットには「foo」という文字列プロパティがあります。そして、「foo」が「red」、「orange」、「green」、または任意の色に設定されたウィジェットを照会し、適切な「foo」プロパティを持つウィジェットのみを含める必要があります。また、これらの色はユーザー入力によるものであるため、信頼できません。すべての結果を読み込んでフィルタリングするのではなく、SQL でこれを行います。
しかし… 「AND」で句を結合する方法しか見当たりません。「OR」ではありません。そして、「in」はガベージです(「in」は数値IDまたはサブクエリセットでのみ機能し、同じ問題になります!)。他のことも試してみましたが、うまくいかないようでした。
基本的には、これを以下のキーとしてどう表現するかを聞いていfilterQuery
ます。
myNiceWidgets = Widget.objects.filter(**filterQuery).orderBy(...)
ありがとう。