带有复选框而不是选项列表的Django过滤器

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

我有一个包含三个字段的模型:

title= models.CharField(max_length=250)

cat1 = models.CharField(max_length=250, choices=(('g1',"Game1"), ("g2", "Game2"), ("g3", "Game3"), ("g4", "Game4")))

cat2 = models.CharField(max_length=250, choices=(('type1',"Drawn"), ("type2", "Computer graphic"), ("type3", "Pixelart")))

并且在filters.py中,我有:

import django_filters
from .models import MyModel
from django import forms

class ArtFilter(django_filters.FilterSet):
    class Meta:
        model = MyModel
        fields = ['cat1', 'cat2', ]

不知道views.py在这种情况下是否重要,但这是:

def search(request):
    art_list = MyModels.objects.all()
    art_filter = ArtFilter(request.GET, queryset=art_list)
    return render(request, 'search/art_search.html', {'filter': art_filter})

除了我需要让人们选择一种以上的游戏或美术类型之外,其他都很好,因此他们可以单击Game1,Game2和Drawn来查看两个游戏的所有绘制图像。我该如何实现?

django django-filter
1个回答
0
投票

MultipleChoiceFilter(...)--(django-filter doc)类用作,

MultipleChoiceFilter(...)
© www.soinside.com 2019 - 2024. All rights reserved.