一連のフィルターを使用して、データベースから一連の行を取得したいと思います。
条件付きフィルターがdjangoに適用できるかどうか疑問に思いました。つまり、「変数がNoneでない場合はフィルタリングするか、それ以外の場合はフィルタリングを適用しない」ということです。
このようなもの:
user = User.objects.get(pk=1)
category = Category.objects.get(pk=1)
todays_items = Item.objects.filter(user=user, date=now()).conditional_filter(category=category))
カテゴリがNoneでない場合にのみ、カテゴリフィルタを適用します。
カテゴリがNoneの場合(リクエストオブジェクトで指定されていないことを意味します)、このフィルターはまったく適用されません。これは私にたくさんの「if-elif-else」状況を救うでしょう。
これを行う方法はありますか?