【Django】filter()やexclude()で動的に条件を作成する方法

orをつくるときはこちらの記事を参考

Qオブジェクトなるものを使う

以下みたいな感じに作れる

special = [‘test1’, ‘test2’]
q_obj = Q()

for val in special:
q_obj.add(Q(name=val), Q.OR)

pprint(q_obj)

# test1,test2以外
result = クラス名.objects.filter(
date=input_date).exclude(q_obj).values(“name”)

あとこの記事も参考になるかも

シェアする

  • このエントリーをはてなブックマークに追加

フォローする