Мне нужно добавить поле «Все» для выбора ModelMultipleChoiceFilter. Я не знаю, как добавить пользовательское значение ('All') в набор запросов.
В MultipleChoiceFilter я просто использую:
shops = Shop.objects.filter(is_active=True)
SHOP_CHOICES = [('All', 'All')]
for x in shops:
SHOP_CHOICES.append((x.address, x))
SHOP_CHOICES = tuple(SHOP_CHOICES)
, но в ModelMultipleChoiceFilter у меня вместо кортежа набор запросов.
Мой фильтр:
def departments(request):
if request is None:
return Shop.objects.none()
curr_user = request.user
return Shop.objects.filter(is_active=True, custom_user=curr_user)
class ShopFilter(django_filters.FilterSet):
address = django_filters.ModelMultipleChoiceFilter(queryset=departments)