ListSelect2 does not correctly render the selected choices when used with groups.
This snippet works for groups but I did not make a PR as I'll let the way to detect or declare grouped vs non-grouped to you.
class LgrGroupedListSelect2(autocomplete.ListSelect2):
def filter_choices_to_render(self, selected_choices):
# dal.widget.WidgetMixin.filter_choices_to_render does not handle correctly grouped lists
ch = []
for group in self.choices:
c = [c for c in group[1] if str(c[0]) in selected_choices]
ch.extend(c)
self.choices = ch