Following the code in this post, I was able to group the options in a ModelMultipleChoiceField based on another field. As described in this post, I used a custom widget (literally the one that is in the post):
Grouping CheckboxSelectMultiple Options in Django
so now the form is rendering the way I'd like it to, but I was hoping to improve on the formatting by using crispy forms. however, when I added {% load crispy_forms_tags %} and {{form|crispy}} it rendered the form without the grouping that I worked so hard to achieve...
does anyone know how if its possible to apply crispy forms to a form with a custom widget and preserve what the widget does?
thanks!