DJANGO: Change field size of ModelMultipleChoiceField?
-
08-06-2021 - |
题
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})
解决方案
You can change the width and height of the widget by applying CSS to the <select>
element that Django creates.
其他提示
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}))
不隶属于 StackOverflow