Измените элемент выбора/опции формы, отображаемый моделью, на флажки с несколькими вариантами выбора с помощью Django

Мне нужно изменить два поля формы (сейчас select/option) на флажки с несколькими вариантами выбора в форме, которая отображается из модели. Несмотря на внимательное чтение документации Django, у меня не получается отобразить их, т.е. ничего не происходит. Что мне нужно сделать в models.py, чтобы отобразить чекбоксы? (Для простоты я отображаю код только для одного поля)

Пока что в form.py:

class CreateVariantForm(ModelForm):
    class Meta:
        model = VariantView
        fields = '__all__'
        suitable_for = forms.MultipleChoiceField(choices=VariantView.SuitableForProduct.choices, widget=forms.CheckboxSelectMultiple)

В models.py:

class VariantView(models.Model):
     class SuitableForProduct(models.TextChoices):
        JEWELLERY = "Jewellery", _("Jewellery")
        ACCESSORIES = "Accessories", _("Accessories")
        COSMETICSHYGIENE = "Cosmetics & Hygiene", _("Cosmetics & Hygiene")
        ELECTRONICSGADGETS = "Electronics & Gadgets", _("Electronics & Gadgets")

    suitable_for_product = models.CharField(max_length=255, choices=SuitableForProduct.choices, null=True, blank=True )
    
    class Meta:
        managed = False
        db_table = "variant_view"

В views.py:

class ProductUpdate(LoginRequiredMixin, UpdateView):
    login_url = "/"
    model = VariantView
    template_name = "searchapp/product_update_form.html"
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
    
    context["suitable_for_product"] = SuitableForProduct.objects.values_list(
            "suitable_for", flat=True
        )
    return context
    def get_success_url(self):
        return reverse_lazy("listvariants", args=[self.object.product_group_id])``
```
Вернуться на верх