Deniz Dogan
Deniz Dogan

Reputation: 26227

ModelMultipleChoiceField as a multi-column table

In Django, how do I render a ModelMultipleChoiceField as a multi-column <table>?

fav = forms.ModelMultipleChoiceField(Show.objects.all(),
                                     widget=forms.CheckboxSelectMultiple)

I want this field to render as a multi-column table. Which is the best way to do that?

To clarify, I want the rendering to take N objects and render an HTML <table> with one checkbox in each cell, across e.g. three columns in each <tr>.

Upvotes: 6

Views: 2483

Answers (1)

Grant
Grant

Reputation: 2908

Django is hard-coded to use a <ul> here. See the widgets.py code.

You could subclass the CheckboxSelectMultiple widget class and provide your own .render() method using tables.

Upvotes: 6

Related Questions