Я хотел бы получить кучу строк из моей базы данных с помощью набора фильтров.
Мне было интересно, применим ли условный фильтр в 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".
Есть ли способ сделать это?