Django - Как создать выпадающий чекбокс multiselect в формах django
Я хотел создать проверку multiselect в выпадающем списке. Я создал модель с вариантами выбора и передал ее в форму, и она рендерится в шаблон с выпадающим списком.
Я пробовал использовать поле выбора multiselect и в форме, но не получил ожидаемого результата. У меня есть 3 поля, которые должны быть в выпадающем списке множественного выбора. Заранее спасибо.
models.py
class Userbase(models.Model):
Payment_Term = models.CharField(max_length=255)
Netdue_Date = models.DateField(null=True)
Predicted_Paid_days = models.DateField(verbose_name=('Predicted paid days'))
company_code = models.CharField('company code',choices=CHOICES,max_length=10)
Area = models.CharField(choices=AREACHOICES, max_length=155)
country = models.CharField(choices=AREACHOICES, max_length=155)
forms.py
class Userform(forms.ModelForm):
# CHOICES = (("address1","address1"), ("address2","address2"))
# country=forms.MultipleChoiceField(choices=CHOICES,widget=forms.CheckboxSelectMultiple())
def __init__(self, *args, **kwargs):
super(Userform, self).__init__(*args, **kwargs)
self.fields['Payment_Term'].widget.attrs.update(
{'class': 'form-control mb-3', 'placeholder': 'Payment_Term','id': 'id_Payment_Term'})
self.fields['Netdue_Date'].widget.attrs.update(
{'class': 'form-control mb-3', 'placeholder': 'Netdue_Date', 'name': 'email', 'id': 'Netdue_Date'})
self.fields['Predicted_Paid_days'].widget.attrs.update(
{'class': 'form-control mb-3', 'name': 'Predicted_Paid_days', 'id': 'Predicted_Paid_days', 'placeholder':'Predicted_Paid_days'})
self.fields['company_code'].widget.attrs.update(
{'class': 'form-control mb-3', 'placeholder':'Select company_code','name': 'company_code', 'id': 'id_my_date'})
self.fields['Area'].widget.attrs.update(
{'class': 'form-control mb-3', 'placeholder':'Select Area','name': 'Area', 'id': 'id_Area'})
self.fields['country'].widget.attrs.update(
{'class': 'form-control mb-3', 'placeholder':'Select Country','name': 'country', 'id': 'id_country'})
class Meta:
model =Userbase
# fields = '__all__'
fields = ('country','Payment_Term','Netdue_Date','Predicted_Paid_days',
'PBK_Desc','Vendor_Name','Reference','company_code','Area')
widgets={
'Netdue_Date':DateInput()
}
home.html
<div>Company Code</div>
<div class="row" id='id_row'>
{{ form.company_code}}
</div>
<div>Area</div>
<div class="row" id='id_row'>
{{ form.Area}}
</div>
<div>Country</div>
<div class="row" id='id_row'>
{{ form.country}}
</div>
<div>Payment Term</div>
<div class="row" id='id_row'>
{{ form.Payment_Term}}
</div>
<div>Netdue Date</div>
<div class="row" id='id_row'>
From: <input type="date" name='fromdate'>
To: <input type="date" name='todate'>
{{ form.Netdue_Date}}
</div>
<p></p>
<div>Predicted Paid days</div>
<div class="row" id='id_row'>
<input type="range" min="" max="">
{{ form.Predicted_Paid_days}}
<!-- <input type='number' min="0" max="100"> -->
</div>
</div>
<div>
<input type="submit" value="Apply" id='btn_submit' style=" width:72px; height:34px;"
class="btn btn-success btn">
</div>
</div>