如何向查询集添加值?

问题描述 投票:1回答:1

我需要在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中,我有queryset而不是tuple。

我的过滤器:

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)
python django django-filter
1个回答
0
投票

我使用jquery和html解决了此问题

<script>
    $('#id_address').prepend(new Option('All', 'All'))
</script>
© www.soinside.com 2019 - 2024. All rights reserved.