Сгруппированный флажокSelectMultiple в шаблоне Django

Как я могу сгруппировать флажки, произведенныеCheckboxSelectMultiple по родственной модели?

Это лучше всего продемонстрировано на примере.

models.py:

class FeatureCategory(models.Model):
    name = models.CharField(max_length=30)

class Feature(models.Model):
    name = models.CharField(max_length=30)
    category = models.ForeignKey(FeatureCategory)

class Widget(models.Model):
    name = models.CharField(max_length=30)
    features = models.ManyToManyField(Feature, blank=True)

forms.py:

class WidgetForm(forms.ModelForm):
    features = forms.ModelMultipleChoiceField(
        queryset=Feature.objects.all(),
        widget=forms.CheckboxSelectMultiple,
        required=False
    )
    class Meta:
        model = Widget

views.py:

def edit_widget(request):
    form = WidgetForm()
    return render(request, 'template.html', {'form': form})

template.html:

{{ form.as_p }}

Выше приведен следующий результат:

[] Widget 1
[] Widget 2
[] Widget 3
[] Widget 1
[] Widget 2

Я хотел бы, чтобы флажки функций были сгруппированы по категориям объектов (на основеForeignKey):

Category 1:
  [] Widget 1
  [] Widget 2
  [] Widget 3

Category 2:
  [] Widget 1
  [] Widget 2

Как мне этого добиться? Я пытался использовать{% regroup %} Шаблон тега безрезультатен.

Любой совет высоко ценится.

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос