django condicionalmente filtragem de objetos
Eu gostaria de recuperar um monte de linhas do meu banco de dados usando um conjunto de filtros.
Eu queria saber se o filtro condicional é aplicável no django. Ou seja, "filter if variable não é None, ou não aplica filtragem de outra forma".
Algo assim:
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))
O que eu gostaria de fazer é aplicar o filtro de categoria somente se a categoria não for None.
Se category for None (significa que não é dado no objeto request), então este filtro não será aplicado. Isso me salvaria um monte de situações 'if-elif-else'.
Existe uma maneira de fazer isso?