Группировка 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, поэтому если есть способ создания виджета или пользовательского поля, которые могут это реализовать, любое руководство будет оценено по достоинству.