Группировка ModelMultipleChoiceField в пользовательской форме групп и разрешений в django

Мне нужно реализовать пользовательскую форму для назначения разрешений для групп в django. У меня есть несколько приложений в проекте, и каждое из них определяет свой собственный набор разрешений в своей собственной модели 'AppPermissions'. В настоящее время я использую ModelMultipleChoiceField с виджетом CheckboxSelectMultiple. Например, так:

app_permissions = Permission.objects.filter(content_type__model='apppermissions')

permissions = GroupedModelMultipleChoiceField(
    app_permissions,
    widget=forms.CheckboxSelectMultiple
)

Теперь здесь уже отображаются флажки, которые мне нужны для отображения разрешений, но требованием является то, что они должны быть сгруппированы по приложениям. В виде заголовка/содержания:

App1_Name_Header
  [] App1_name_Permission1
  [] App1_name_Permission2
  [] App1_name_Permission3
App2_Name_Header
  [] App2_name_Permission1
  [] App2_name_Permission2
etc...

Есть ли способ реализовать это? Я очень неопытен в работе с django, поэтому если есть способ создания виджета или пользовательского поля, которые могут это реализовать, любое руководство будет оценено по достоинству.

Вернуться на верх