Question

I was wondering how one changes the size of a ModelMultipleChoiceField? I've only seen examples of changing a CharField into a Textarea... Is this possible?

Models.PY

class FilterForm(forms.Form):
    Person = forms.ModelMultipleChoiceField(required=False, queryset=Person.objects.all(), attrs={'cols': 50, 'rows': 10})
Was it helpful?

Solution

You can change the width and height of the widget by applying CSS to the <select> element that Django creates.

OTHER TIPS

Override the form's __init__ method and add:

self.fields['Person'].widget.attrs['size']='10'

Try this:

from django.forms import widgets
class FilterForm(forms.Form):
    Person = forms.ModelMultipleChoiceField(required=False, queryset=Person.objects.all(), widget=widgets.SelectMultiple(attrs={'size': 20}))
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top