J'ai un modèle défini comme suit dans models.py
class ImageGrab(models.Model):
title = models.CharField(max_length=50)
slug=models.CharField(max_length=200)
age=models.ForeignKey(Age, on_delete=models.CASCADE)
gender=models.ForeignKey(Gender, on_delete=models.CASCADE)
masked=models.ForeignKey(Mask, on_delete=models.CASCADE)
withBackpack=models.ForeignKey(Backpack, on_delete=models.CASCADE)
Les filtres sont définis comme suit dans le fichier filters.py :
class ImageFilterAge(django_filters.FilterSet):
class Meta:
model = ImageGrab
fields = ['age']
###others similar to this
class ImageFilter(django_filters.FilterSet):
class Meta:
model = ImageGrab
fields = ['age', 'gender', 'masked', 'withBackpack']
La vue est définie comme suit dans views.py
def images(request):
imagelist = ImageGrab.objects.all()
imagefilter = ImageFilter(request.GET, queryset=imagelist)
agefilter = ImageFilterAge(request.GET, queryset=imagelist)
genderfilter=ImageFilterGender(request.GET, queryset=imagelist)
maskedfilter= ImageFilterMask(request.GET, queryset=imagelist)
backpackfilter = ImageFilterBackpack(request.GET, queryset=imagelist)
return render(request, 'imglist.html', {'filter': imagefilter,'agefilter': agefilter.form, 'genderfilter':genderfilter.form, 'maskfilter':maskedfilter.form, 'backpackfilter':backpackfilter.form})
Mon modèle est le suivant, dans imglist.html
<form method="get" name="search" id="search">
{{ agefilter }} <br>
{{ genderfilter }} <br>
{{ maskfilter }} <br>
{{ backpackfilter }} <br>
</form>
Ce formulaire est rendu par défaut sous la forme d'un formulaire de sélection déroulant, comme indiqué dans l'image ci-dessous. Je souhaite le modifier en sélection multiple par case à cocher et/ou bouton radio pour les filtres. Filtrage à l'aide d'une liste déroulante
Comment procéder ?
Merci d'avance.